Package no.ugland.utransprod.gui.model

Source Code of no.ugland.utransprod.gui.model.ColliModel

package no.ugland.utransprod.gui.model;

import java.beans.PropertyChangeListener;
import java.util.List;

import org.apache.commons.lang.StringUtils;

import no.ugland.utransprod.model.Colli;
import no.ugland.utransprod.model.OrderLine;

import com.jgoodies.binding.PresentationModel;
import com.jgoodies.binding.list.ArrayListModel;

/**
* GUI-modell for kolli
*
* @author atle.brekka
*
*/
public class ColliModel extends AbstractModel<Colli, ColliModel> {
  private static final long serialVersionUID = 1L;

  public static final String PROPERTY_COLLI_NAME = "colliName";

  public static final String PROPERTY_ORDER_LINES = "orderLines";

  public static final String PROPERTY_NUMBER_OF_COLLIES = "numberOfCollies";
  public static final String PROPERTY_COLLI_NAME_AND_NUMBER = "colliNameAndNumber";

  private final ArrayListModel orderLineList;

  /**
   * @param colli
   */
  public ColliModel(Colli colli) {
    super(colli);

    orderLineList = new ArrayListModel();
    if (object.getOrderLines() != null) {
      orderLineList.addAll(object.getOrderLines());
    }

  }

  public String getColliName() {
    return object.getColliName();
  }

  public void setColliName(String colliName) {
    String oldName = getColliName();
    object.setColliName(colliName);
    firePropertyChange(PROPERTY_COLLI_NAME, oldName, colliName);
  }
 
  public String getColliNameAndNumber() {
    return object.getColliName() + (object.getNumberOfCollies()!=null?" - "+object.getNumberOfCollies():"");
  }
 
 
 
 
  public String getNumberOfCollies() {
    return object.getNumberOfCollies()!=null?String.valueOf(object.getNumberOfCollies()):null;
  }

  /**
   * @param colliName
   */
  public void setNumberOfCollies(String numberOfCollies) {
    String oldNumber = getNumberOfCollies();
    object.setNumberOfCollies(!StringUtils.isEmpty(numberOfCollies)?Integer.valueOf(numberOfCollies):null);
    firePropertyChange(PROPERTY_NUMBER_OF_COLLIES, oldNumber, numberOfCollies);
  }

  /**
   * @return ordrelinjer
   */
  @SuppressWarnings("unchecked")
  public List<OrderLine> getOrderLines() {
    return orderLineList;
  }

  /**
   * @see no.ugland.utransprod.gui.model.AbstractModel#addBufferChangeListener(java.beans.PropertyChangeListener,
   *      com.jgoodies.binding.PresentationModel)
   */
  @Override
  public void addBufferChangeListener(PropertyChangeListener listener,
      PresentationModel presentationModel) {
    presentationModel.getBufferedModel(PROPERTY_COLLI_NAME)
        .addValueChangeListener(listener);
    presentationModel.getBufferedModel(PROPERTY_ORDER_LINES)
        .addValueChangeListener(listener);

  }

  /**
   * @see no.ugland.utransprod.gui.model.AbstractModel#getBufferedObjectModel(com.jgoodies.binding.PresentationModel)
   */
  @Override
  public ColliModel getBufferedObjectModel(PresentationModel presentationModel) {
    ColliModel colliModel = new ColliModel(new Colli());
    colliModel.setColliName((String) presentationModel
        .getBufferedValue(PROPERTY_COLLI_NAME));
    return colliModel;
  }

  public void firePropertyChanged(String propertyName) {
    firePropertyChange(propertyName, null, getColliNameAndNumber());
   
  }

}
TOP

Related Classes of no.ugland.utransprod.gui.model.ColliModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.