All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jentity.datamodel.Valve Maven / Gradle / Ivy

The newest version!
// Generated by the DataEntity generator, do not edit
package org.jentity.datamodel;

import java.util.*;

import org.jentity.datamodel.visitor.*;
import org.jentity.datamodel.*;

public class Valve extends DataEntity {

  	public static final ValveParameter FLOW = new ValveParameter("flow");
  	public int getFlow() {
		if (getAttribute(FLOW) != null) {
  			return ((Integer)getAttribute(FLOW)).intValue();
  		} else {
  			return -1;
  		}
  	} 
  	public void setFlow(int flow) {
  		setAttribute(FLOW, new Integer(flow));
  	}

  	public static final ValveParameter TIMEOPENED = new ValveParameter("timeOpened");
  	public Date getTimeOpened() {
    	return (Date)getAttribute(TIMEOPENED);
  	} 
  	public void setTimeOpened(Date timeOpened) {
  		setAttribute(TIMEOPENED, timeOpened);
  	}

  	public static final ValveParameter OPEN = new ValveParameter("open");
  	public boolean getOpen() {
		if (getAttribute(OPEN) != null) {
  			return ((Boolean)getAttribute(OPEN)).booleanValue();
  		} else {
  			return false;
  		}
  	} 
  	public void setOpen(boolean open) {
  		setAttribute(OPEN, new Boolean(open));
  	}

	public static class ValveParameter extends ParameterEnum {
        public ValveParameter(String name) {
          	super(name);
        }
    }
    
	@SuppressWarnings("unchecked")
    public Class getParameterEnumClass() {
    	return ValveParameter.class;
    }
    
    @Override
    public DataEntity createInstance() {
    	return new Valve();
    }
    
	private static final Map visitorMap = new HashMap();
    static {    
    	visitorMap.put(FLOW, new DefaultAttributeVisitor ());		
    	visitorMap.put(TIMEOPENED, new DefaultAttributeVisitor ());		
    	visitorMap.put(OPEN, new DefaultAttributeVisitor ());		
	}
	
	@Override
	public AttributeVisitor getVisitor(ParameterEnum parameter) {
        return (AttributeVisitor)visitorMap.get(parameter);
    }
	
	//-----------------------------Listener functionality------------------------------------
	private LinkedList listeners = new LinkedList();
	private final ChangeListener coreListener = new ChangeListener() {
	    public void handleUpdate(ChangeEvent coreChange) {
            ValveChange changeEvent = new ValveChange(coreChange);
	        for (Iterator iter = listeners.iterator(); iter.hasNext();) {
	            ValveListener listener = (ValveListener) iter.next();
	            listener.handleUpdate(changeEvent);
	        }
	    }
	};
	/**
     * Adds a listener to this Entity. Listeners will be notified of changes to
     * the attribute set. 
     */
	@SuppressWarnings("unchecked")
    public void addListener(ValveListener listener) {
    	if (listeners.size() == 0) {
    		addListener(coreListener);
    	}
    	listeners = (LinkedList)listeners.clone();
        listeners.add(listener);
        DataEntity entity = copy();
        listener.handleUpdate(new ValveChange(new ChangeListener.ChangeEvent(entity, entity, entity)));	
    }
    /**
     * Removes the indicated listener.
     */
	@SuppressWarnings("unchecked")
    public void removeListener(ValveListener listener) {    
        listeners = (LinkedList)listeners.clone();
        listeners.add(listener);
    	if (listeners.size() == 0) {
    		removeListener(coreListener);
    	}
    }
    /**
     * Data core listeners must implement this interface.
     */
    public interface ValveListener {
        public void handleUpdate(ValveChange change);
    }
    
    /**
     * Contains information one state change in a data core. 
     */
    public static class ValveChange {
        private final ChangeListener.ChangeEvent change;
        
        /**
         * Constructs a ChangeEvent object composed of the supplied parameters. 
         */
        private ValveChange(ChangeListener.ChangeEvent change) {
            this.change = change;
        }
        /**
         * @return Returns the new attribute set applied to the entity.
         */
        public Valve getUpdateValues() {
            return (Valve)change.getUpdateValues();
        }
        /**
         * @return Returns the old attribute set replaced in the update. May be null if 
         * undefined
         */
        public Valve getOldValues() {
            return (Valve)change.getOldValues();
        }
        
        public Valve getModel() {
            return (Valve)change.getModel();
        } 
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy