com.evelopers.unimod.core
Class ModelElement

java.lang.Object
  extended bycom.evelopers.unimod.core.ModelElement
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Action, Association, ClassElement, Event, Guard, Model, State, Transition

public abstract class ModelElement
extends java.lang.Object
implements java.io.Serializable

Base abstract class for all model elements.

See Also:
Serialized Form

Field Summary
protected  java.beans.PropertyChangeSupport listeners
           
protected  java.lang.String name
           
static java.lang.String NAME_PROPERTY
           
protected  java.lang.String stereotype
           
static java.lang.String STEREOTYPE_PROPERTY
           
 
Constructor Summary
protected ModelElement()
          Creates empty model element.
protected ModelElement(java.lang.String name)
          Creates model element with given name.
protected ModelElement(java.lang.String name, java.lang.String stereotype)
          Creates model element witg given name and stereotype.
 
Method Summary
 void accept(ModelVisitor v)
          Accepts given visitor.
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
          Adds new property change listener
abstract  boolean equals(java.lang.Object o)
          Compare with another model element.
protected  void firePropertyChange(java.lang.String prop, java.lang.Object oldValue, java.lang.Object newValue)
          Fires property change event
 java.lang.String getName()
          Returns name
 java.lang.String getStereotype()
          Returns stereotype
abstract  int hashCode()
          Returns model element hash code.
protected  void initListeners()
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener l)
          Removes property change listener
 void setName(java.lang.String name)
          Sets name
protected  void setStereotype(java.lang.String stereotype)
          Sets stereotype
 java.lang.String toString()
          Returns name and stereotype.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

NAME_PROPERTY

public static final java.lang.String NAME_PROPERTY
See Also:
Constant Field Values

stereotype

protected java.lang.String stereotype

STEREOTYPE_PROPERTY

public static final java.lang.String STEREOTYPE_PROPERTY
See Also:
Constant Field Values

listeners

protected transient java.beans.PropertyChangeSupport listeners
Constructor Detail

ModelElement

protected ModelElement()
Creates empty model element.


ModelElement

protected ModelElement(java.lang.String name)
Creates model element with given name.

Parameters:
name - model element name
Throws:
java.lang.IllegalArgumentException - is name is null

ModelElement

protected ModelElement(java.lang.String name,
                       java.lang.String stereotype)
Creates model element witg given name and stereotype.

Parameters:
name - model element name
stereotype - model element stereotype
Method Detail

getName

public java.lang.String getName()
Returns name

Returns:
name

setName

public void setName(java.lang.String name)
Sets name

Parameters:
name - - new name

getStereotype

public java.lang.String getStereotype()
Returns stereotype

Returns:
stereotype

setStereotype

protected void setStereotype(java.lang.String stereotype)
Sets stereotype

Parameters:
stereotype - new stereotype.

hashCode

public abstract int hashCode()
Returns model element hash code.

Returns:
hash code

equals

public abstract boolean equals(java.lang.Object o)
Compare with another model element.

Parameters:
o - another model element
Returns:
boolean

toString

public java.lang.String toString()
Returns name and stereotype.

Returns:
string

accept

public void accept(ModelVisitor v)
            throws VisitorException
Accepts given visitor.

Parameters:
v - visitor to visit model element
Throws:
VisitorException - thrown by visitor methods

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Adds new property change listener

Parameters:
l - property change listener

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Removes property change listener

Parameters:
l - property change listener

firePropertyChange

protected void firePropertyChange(java.lang.String prop,
                                  java.lang.Object oldValue,
                                  java.lang.Object newValue)
Fires property change event

Parameters:
prop - property name
oldValue - old property value
newValue - new property value

initListeners

protected void initListeners()