Class Property
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.snap.data.Property
-
- All Implemented Interfaces:
Archivable,RMJSONArchiver.GetKeys,RMPropertyChanger,java.lang.Cloneable,java.lang.Comparable
public class Property extends RMObject implements java.lang.Comparable, RMJSONArchiver.GetKeys, Archivable
This class describes an attribute of an entity.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProperty.DateTypestatic classProperty.NumberTypestatic classProperty.StringSizestatic classProperty.Type
-
Constructor Summary
Constructors Constructor Description Property()Creates a new property.Property(java.lang.String aName)Creates a new property with given name.Property(java.lang.String aName, Property.Type aType)Creates a new property with given name and type.Property(java.lang.String aName, java.lang.Object aType)Creates a new property with given name and type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Propertyclone()Standard clone implementation.intcompareTo(java.lang.Object anObj)Implements comparable to compare based on name.java.lang.ObjectconvertValue(java.lang.Object anObj)Converts an arbitrary object to property type.booleanequals(java.lang.Object anObj)Standard equals implementation.PropertyfromXML(RXArchiver anArchiver, RXElement anElement)XML unarchival.Property.DateTypegetDateType()Returns the date type.Property.DateTypegetDateTypeDefault()Returns the default date type.java.lang.ObjectgetDefaultValue()Returns default value for this property.EntitygetEntity()Returns the entity that owns this property.java.lang.StringgetEnumsString()Returns the enum strings as a single string (comma separated).java.util.List<java.lang.String>getEnumStrings()Returns the enum strings (for type Enum).java.util.List<java.lang.String>getJSONKeys()Returns JSON keys.java.lang.ObjectgetKeyValue(java.lang.String aKey)RMKey.Get implementation to return Property for key from RelationEntity (if found).java.lang.StringgetName()Returns the name of this property.booleangetNullableDefault()Returns the nullable default.Property.NumberTypegetNumberType()Returns the number type.Property.NumberTypegetNumberTypeDefault()Return default number type.EntitygetRelationEntity()Returns the relation entity.java.lang.StringgetRelationEntityName()Returns the name of the entity that this relation property points to.PropertygetRelationLocalProperty()Returns the relation local property.java.lang.StringgetRelationLocalPropertyName()Returns the property name local to this property's entity that the relation uses as a key (primary or foreign).PropertygetRelationRemoteProperty()Returns the relation remote property.java.lang.StringgetRelationRemotePropertyName()Returns the property name that the relation uses as a key in the remote table (primary or foreign).java.lang.StringgetStandardName()Returns the name in a standard format (strip is/get prefix and start with capital letter).Property.StringSizegetStringSize()Returns the string size.Property.StringSizegetStringSizeDefault()Return default string size.Property.TypegetType()Returns the type of this property.booleanisAttribute()Returns whether this property is a simple attribute.booleanisAutoGenerated()Returns whether column is automatically generated (numbered), thus read-only.booleanisDerived()Returns whether property value is derived from other properties and doesn't require persistence.booleanisNullable()Returns whether property allows nulls.booleanisPrimary()Returns whether this property is a primary key.booleanisPrivate()Returns whether this property is private.booleanisRelation()Returns whether this property is a relation.booleanisToMany()Returns whether this property is a to many relation.voidsetAutoGenerated(boolean aValue)Sets whether column is automatically generated (numbered), thus read-only.voidsetDateType(Property.DateType aDateType)Sets the date type.voidsetDefaultValue(java.lang.Object aValue)Sets default value for this property.voidsetEntity(Entity anEntity)Sets the entity that owns this property.voidsetEnumsString(java.lang.String aValue)Sets the enum strings as a single string (comma separated).voidsetEnumStrings(java.util.List<java.lang.String> theValues)Sets the enum strings (for type Enum).voidsetName(java.lang.String aName)Sets the name of this property.voidsetNullable(boolean aValue)Sets whether property allows nulls.voidsetNumberType(Property.NumberType aNumberType)Sets the number type.voidsetPrimary(boolean isPrimary)Sets whether this property is a primary key.voidsetPrivate(boolean isPrivate)Sets whether this property is private.voidsetRelationEntity(Entity anEntity)Sets the relation entity.voidsetRelationEntityName(java.lang.String aName)Sets the name of the entity that this relation property points to.voidsetRelationLocalPropertyName(java.lang.String aName)Sets the property name local to this property's entity that the relation uses as a key (primary or foreign).voidsetRelationRemotePropertyName(java.lang.String aName)Sets the property name that the relation uses as a key in the remote table (primary or foreign).voidsetStringSize(Property.StringSize aSize)Sets the string size.voidsetToMany(boolean aValue)Sets whether this property is a to many relation.voidsetType(Property.Type aType)Sets the type of this property.voidsetTypeFromSample(java.lang.String aSample)Sets property type from sample string - tries to discern whether string represents a date or number.voidsetTypeName(java.lang.String aName)Sets the type from a given name.java.lang.StringtoString()Returns a string representation of this property (its name).java.lang.StringtoString(java.lang.Object aValue)Returns a string representation of given value according to property type.RXElementtoXML(RXArchiver anArchiver)XML archival.-
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, animUpdate, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
-
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
-
-
-
Constructor Detail
-
Property
public Property()
Creates a new property.
-
Property
public Property(java.lang.String aName)
Creates a new property with given name.
-
Property
public Property(java.lang.String aName, Property.Type aType)Creates a new property with given name and type.
-
Property
public Property(java.lang.String aName, java.lang.Object aType)Creates a new property with given name and type.
-
-
Method Detail
-
getEntity
public Entity getEntity()
Returns the entity that owns this property.
-
setEntity
public void setEntity(Entity anEntity)
Sets the entity that owns this property.
-
getName
@Nonnull public java.lang.String getName()
Returns the name of this property.
-
setName
public void setName(java.lang.String aName)
Sets the name of this property.
-
getStandardName
public java.lang.String getStandardName()
Returns the name in a standard format (strip is/get prefix and start with capital letter).
-
getType
public Property.Type getType()
Returns the type of this property.
-
setType
public void setType(Property.Type aType)
Sets the type of this property.
-
setTypeName
public void setTypeName(java.lang.String aName)
Sets the type from a given name.
-
setTypeFromSample
public void setTypeFromSample(java.lang.String aSample)
Sets property type from sample string - tries to discern whether string represents a date or number.
-
isPrimary
public boolean isPrimary()
Returns whether this property is a primary key.
-
setPrimary
public void setPrimary(boolean isPrimary)
Sets whether this property is a primary key.
-
isPrivate
public boolean isPrivate()
Returns whether this property is private.
-
setPrivate
public void setPrivate(boolean isPrivate)
Sets whether this property is private.
-
getStringSize
public Property.StringSize getStringSize()
Returns the string size.
-
setStringSize
public void setStringSize(Property.StringSize aSize)
Sets the string size.
-
getStringSizeDefault
public Property.StringSize getStringSizeDefault()
Return default string size.
-
getNumberType
public Property.NumberType getNumberType()
Returns the number type.
-
setNumberType
public void setNumberType(Property.NumberType aNumberType)
Sets the number type.
-
getNumberTypeDefault
public Property.NumberType getNumberTypeDefault()
Return default number type.
-
getDateType
public Property.DateType getDateType()
Returns the date type.
-
setDateType
public void setDateType(Property.DateType aDateType)
Sets the date type.
-
getDateTypeDefault
public Property.DateType getDateTypeDefault()
Returns the default date type.
-
isAutoGenerated
public boolean isAutoGenerated()
Returns whether column is automatically generated (numbered), thus read-only.
-
setAutoGenerated
public void setAutoGenerated(boolean aValue)
Sets whether column is automatically generated (numbered), thus read-only.
-
isNullable
public boolean isNullable()
Returns whether property allows nulls.
-
setNullable
public void setNullable(boolean aValue)
Sets whether property allows nulls.
-
getNullableDefault
public boolean getNullableDefault()
Returns the nullable default.
-
getDefaultValue
public java.lang.Object getDefaultValue()
Returns default value for this property.
-
setDefaultValue
public void setDefaultValue(java.lang.Object aValue)
Sets default value for this property.
-
getEnumStrings
public java.util.List<java.lang.String> getEnumStrings()
Returns the enum strings (for type Enum).
-
setEnumStrings
public void setEnumStrings(java.util.List<java.lang.String> theValues)
Sets the enum strings (for type Enum).
-
getEnumsString
public java.lang.String getEnumsString()
Returns the enum strings as a single string (comma separated).
-
setEnumsString
public void setEnumsString(java.lang.String aValue)
Sets the enum strings as a single string (comma separated).
-
isAttribute
public boolean isAttribute()
Returns whether this property is a simple attribute.
-
isRelation
public boolean isRelation()
Returns whether this property is a relation.
-
isToMany
public boolean isToMany()
Returns whether this property is a to many relation.
-
isDerived
public boolean isDerived()
Returns whether property value is derived from other properties and doesn't require persistence. A common (though advanced) example is a relationship that references the primary key against a foreign table/key. A less sophisticated example would be a property based on an expression comprised of other properties.
-
setToMany
public void setToMany(boolean aValue)
Sets whether this property is a to many relation.
-
getRelationEntity
public Entity getRelationEntity()
Returns the relation entity.
-
setRelationEntity
public void setRelationEntity(Entity anEntity)
Sets the relation entity.
-
getRelationEntityName
public java.lang.String getRelationEntityName()
Returns the name of the entity that this relation property points to.
-
setRelationEntityName
public void setRelationEntityName(java.lang.String aName)
Sets the name of the entity that this relation property points to.
-
getRelationLocalPropertyName
public java.lang.String getRelationLocalPropertyName()
Returns the property name local to this property's entity that the relation uses as a key (primary or foreign).
-
setRelationLocalPropertyName
public void setRelationLocalPropertyName(java.lang.String aName)
Sets the property name local to this property's entity that the relation uses as a key (primary or foreign).
-
getRelationRemotePropertyName
public java.lang.String getRelationRemotePropertyName()
Returns the property name that the relation uses as a key in the remote table (primary or foreign).
-
setRelationRemotePropertyName
public void setRelationRemotePropertyName(java.lang.String aName)
Sets the property name that the relation uses as a key in the remote table (primary or foreign).
-
getRelationLocalProperty
public Property getRelationLocalProperty()
Returns the relation local property.
-
getRelationRemoteProperty
public Property getRelationRemoteProperty()
Returns the relation remote property.
-
convertValue
public java.lang.Object convertValue(java.lang.Object anObj)
Converts an arbitrary object to property type.
-
getKeyValue
public java.lang.Object getKeyValue(java.lang.String aKey)
RMKey.Get implementation to return Property for key from RelationEntity (if found).
-
toString
public java.lang.String toString(java.lang.Object aValue)
Returns a string representation of given value according to property type.
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Overrides:
equalsin classjava.lang.Object
-
clone
public Property clone()
Standard clone implementation.- Overrides:
clonein classRMListenerList
-
compareTo
public int compareTo(java.lang.Object anObj)
Implements comparable to compare based on name.- Specified by:
compareToin interfacejava.lang.Comparable
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.- Specified by:
toXMLin interfaceArchivable
-
fromXML
public Property fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Specified by:
fromXMLin interfaceArchivable
-
getJSONKeys
public java.util.List<java.lang.String> getJSONKeys()
Returns JSON keys.- Specified by:
getJSONKeysin interfaceRMJSONArchiver.GetKeys
-
-