wt.tools.metamodel
Class ClassProperty

java.lang.Object
  extended bywt.tools.metamodel.ModelElement
      extended bywt.tools.metamodel.ClassMember
          extended bywt.tools.metamodel.ClassProperty
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
Attribute, Role

public abstract class ClassProperty
extends ClassMember


Field Summary
protected  boolean beforeClassInit
           
protected  boolean bound
           
protected  ChangeableKind changeable
           
protected  boolean constrained
           
protected  Boolean constrainedType
           
protected  boolean derived
           
private  String derivedFrom
           
protected  String initValue
           
protected  com.objectspace.jgl.Array keys
           
protected  int length
           
protected  String lowerLimit
           
protected  boolean persistent
           
protected  String primitiveType
           
protected  boolean required
           
protected  CaseKind stringCase
           
protected  String upperLimit
           
protected  Visibility writeVisibility
           
 
Fields inherited from class wt.tools.metamodel.ClassMember
access, isAbstract, isFinal, isStatic, originalMember, owner, type, typePackage
 
Fields inherited from class wt.tools.metamodel.ModelElement
customizations, DEBUG, documentation, LINE_SEPARATOR, name, nextID, properties, RESOURCE, source, stereotype, store, supportedAPI, TRACE, uid
 
Constructor Summary
protected ClassProperty()
           
(package private) ClassProperty(String theUid, ClassClass theOwner)
           
 
Method Summary
 void addKey(Key newMember)
           
 void copyTo(ClassProperty newOne)
           
 String getAccessType()
           
abstract  int getArraySize()
           
 ChangeableKind getChangeable()
           
 String getCodeAccessType()
           
 String getDerivedFrom()
           
 String getInitValue()
           
 Enumeration getKeys()
           
 int getLength()
           
 String getLowerLimit()
           
 ClassMember getOriginalMember()
          Return the originally modeled ClassProperty from the hierarchy.
protected  ClassMember getOriginalMember(ClassProperty beginProperty, ClassProperty previousProperty, int depth)
          Return the originally modeled ClassProperty from the hierarchy.
 String getPrimitiveType()
           
 CaseKind getStringCase()
           
 String getUpperLimit()
           
 Visibility getWriteVisibility()
           
 boolean isBeforeClassInit()
           
abstract  boolean isBidirectional()
           
 boolean isBound()
           
abstract  boolean isComposite()
           
 boolean isConstrained()
           
 boolean isConstrainedType()
          Return true if this ClassProperty is redefining the type for a ClassProperty that was defined higher in the hierarchy.
 boolean isCovariant()
          Return true if this ClassProperty is overriding a concrete ClassProperty that was defined higher in the hierarchy.
 boolean isDerived()
           
 boolean isMobile()
           
 boolean isNamed()
           
 boolean isOverride()
          Return true if this ClassProperty is overriding a concrete ClassProperty that was defined higher in the hierarchy.
 boolean isPersistent()
           
 boolean isReadOnly()
           
 boolean isRequired()
           
 int keyCount()
           
protected  void loadCustomizations()
           
protected  void loadFromStore()
           
abstract  Attribute makeAttribute()
           
 void setConstrained(boolean theConstrained)
           
 void setConstrainedType(boolean isConstrainedType)
           
 void setDerivedFrom(String derivedFrom)
           
 void setInitValue(String theInitValue)
           
 void setPersistent(boolean thePersistent)
           
 void setWriteVisibility(Visibility theAccess)
           
protected  void writeToStore()
           
 
Methods inherited from class wt.tools.metamodel.ClassMember
clone, getCodeType, getContainingClass, getCustomization, getOwner, getType, getTypePackage, getUnqualifiedType, getVisibility, isAbstract, isArray, isConstant, isDependency, isFinal, isPrivateVisibility, isStatic, setAbstract, setDefaults, setFinal, setOwner, setPackageType, setStatic, setType, setType, setVisibility, typeCleanup
 
Methods inherited from class wt.tools.metamodel.ModelElement
ensureDeferredLoaded, getBoolean, getBoolean, getCustomization, getCustomizations, getDocumentation, getElementCode, getName, getOriginalSource, getProperty, getProperty, getProperty, getProperty, getSource, getSourceId, getStereotype, getSupportedAPI, getUid, initialize, initialize, isDeprecated, loadFromStoreDeferred, setBoolean, setDocumentation, setName, setProperty, setSource, setStereotype, setStore, setSupportedAPI, setUid, store, storeForPackage, toString, transferProperty, writeToStore
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

initValue

protected String initValue

derived

protected boolean derived

derivedFrom

private String derivedFrom

persistent

protected boolean persistent

bound

protected boolean bound

constrained

protected boolean constrained

changeable

protected ChangeableKind changeable

required

protected boolean required

writeVisibility

protected Visibility writeVisibility

length

protected int length

lowerLimit

protected String lowerLimit

upperLimit

protected String upperLimit

primitiveType

protected String primitiveType

beforeClassInit

protected boolean beforeClassInit

stringCase

protected CaseKind stringCase

keys

protected com.objectspace.jgl.Array keys

constrainedType

protected Boolean constrainedType
Constructor Detail

ClassProperty

protected ClassProperty()

ClassProperty

ClassProperty(String theUid,
              ClassClass theOwner)
Method Detail

addKey

public void addKey(Key newMember)

copyTo

public void copyTo(ClassProperty newOne)

getAccessType

public String getAccessType()

getArraySize

public abstract int getArraySize()

getChangeable

public ChangeableKind getChangeable()

getDerivedFrom

public String getDerivedFrom()

getInitValue

public String getInitValue()

getKeys

public Enumeration getKeys()

getLength

public int getLength()

getLowerLimit

public String getLowerLimit()

getOriginalMember

public ClassMember getOriginalMember()
Return the originally modeled ClassProperty from the hierarchy. If ClassProperty is not an override, it will return itself.

Specified by:
getOriginalMember in class ClassMember

getOriginalMember

protected ClassMember getOriginalMember(ClassProperty beginProperty,
                                        ClassProperty previousProperty,
                                        int depth)
Return the originally modeled ClassProperty from the hierarchy. If ClassProperty is not an override, it will return itself.


getPrimitiveType

public String getPrimitiveType()

getStringCase

public CaseKind getStringCase()

getUpperLimit

public String getUpperLimit()

getWriteVisibility

public Visibility getWriteVisibility()

isBeforeClassInit

public boolean isBeforeClassInit()

isBidirectional

public abstract boolean isBidirectional()

isBound

public boolean isBound()

isComposite

public abstract boolean isComposite()

isConstrained

public boolean isConstrained()

isConstrainedType

public boolean isConstrainedType()
Return true if this ClassProperty is redefining the type for a ClassProperty that was defined higher in the hierarchy. For example, it will return true if this same named ClassProperty is found to have been previously defined in the class hierarchy.


isCovariant

public boolean isCovariant()
Return true if this ClassProperty is overriding a concrete ClassProperty that was defined higher in the hierarchy.


isDerived

public boolean isDerived()

isMobile

public boolean isMobile()

isNamed

public boolean isNamed()

isOverride

public boolean isOverride()
Return true if this ClassProperty is overriding a concrete ClassProperty that was defined higher in the hierarchy. For example, it will return true if this same named ClassProperty is found to have been previously implemented in the class hierarchy.

Specified by:
isOverride in class ClassMember

isPersistent

public boolean isPersistent()

isReadOnly

public boolean isReadOnly()

isRequired

public boolean isRequired()

keyCount

public int keyCount()

loadCustomizations

protected void loadCustomizations()
                           throws WTException
Overrides:
loadCustomizations in class ModelElement
Throws:
WTException

loadFromStore

protected void loadFromStore()
                      throws WTException
Overrides:
loadFromStore in class ClassMember
Throws:
WTException

makeAttribute

public abstract Attribute makeAttribute()

setConstrained

public void setConstrained(boolean theConstrained)

setConstrainedType

public void setConstrainedType(boolean isConstrainedType)

setDerivedFrom

public void setDerivedFrom(String derivedFrom)

setInitValue

public void setInitValue(String theInitValue)

setPersistent

public void setPersistent(boolean thePersistent)

setWriteVisibility

public void setWriteVisibility(Visibility theAccess)

writeToStore

protected void writeToStore()
Overrides:
writeToStore in class ClassMember

getCodeAccessType

public String getCodeAccessType()