Class Entity
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.snap.data.Entity
-
- All Implemented Interfaces:
Archivable
,RMJSONArchiver.GetKeys
,RMKey.Get
,RMPropertyChanger
,java.beans.PropertyChangeListener
,java.lang.Cloneable
,java.util.EventListener
public class Entity extends RMObject implements java.beans.PropertyChangeListener, RMKey.Get, RMJSONArchiver.GetKeys, Archivable
This class represents an entity for a data source. It has a list of properties, some of which are simple attributes and some of which are relationships.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
Exists_Prop
static java.lang.String
Name_Prop
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addProperty(Property aProperty)
Adds a given property.void
addProperty(Property... theProperties)
Adds given properties.void
addProperty(Property aProperty, int anIndex)
Adds a given property at given index.Entity
clone()
Standard clone implementation.void
delete()
Saves this entity from its source.boolean
equals(java.lang.Object anObj)
Standard equals method.Entity
fromBytes(byte[] theBytes)
Returns entity from bytes.Entity
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.Property
getAttribute(int anIndex)
Returns the attribute at the given index.Property
getAttribute(java.lang.String aName)
Returns the attribute with the given name.int
getAttributeCount()
Returns the number of attributes.Property
getAttributeSorted(int anIndex)
Returns the attribute at the given index in a sorted attributes list.java.lang.String
getDescriptorKey()
Returns the key/key-chain to the property(s) that returns best string description of an entity instance.java.lang.String
getDescriptorKeyGuess()
Returns a guess of descriptor key (or the actual one, if set).Entity
getEntity(java.lang.String aName)
Returns a named entity using entity resolver.java.lang.Class
getEntityClass()
Returns the class that this entity represents.boolean
getExists()
Returns whether entity exists in data source (has been saved and, if so, not deleted).java.util.List<java.lang.String>
getJSONKeys()
Returns keys to archive JSON.Property
getKeyPathProperty(java.lang.String aKeyPath)
Returns the property with the given name.java.lang.Object
getKeyValue(java.lang.String aKey)
RMKey.Get implementation to return Property for key.java.lang.String
getName()
Returns the name of the entity.java.util.List<Property>
getPrimaries()
Returns the list of primary attributes for this entity.Property
getPrimary()
Returns the primary key property.java.util.List<Property>
getProperties()
Returns the list of properties.Property
getProperty(int anIndex)
Returns the property at the given index.Property
getProperty(java.lang.String aName)
Returns the property with the given name.int
getPropertyCount()
Returns the number of properties.Property
getRelation(int anIndex)
Returns the relation at the given index.Property
getRelation(java.lang.String aName)
Returns the relation for the given key path.int
getRelationCount()
Returns the number of relations in the entity.java.util.List<Property>
getRelations()
Returns the list of relations in the entity.Property
getRelationSorted(int anIndex)
Returns the relation at the given index in the sorted list of relations.Schema
getSchema()
Returns the schema that owns this entity.void
propertyChange(java.beans.PropertyChangeEvent anEvent)
PropertyChangeListener implementation to forward property changes to entity property change listener.java.lang.Object
removeProperty(int anIndex)
Removes a property at given index.int
removeProperty(Property aProperty)
Removes the given property.void
save()
Saves the entity to its source.void
setDescriptorKey(java.lang.String aValue)
Sets the key/key-chain to the property(s) that returns best string description of an entity instance.void
setEntityClass(java.lang.Class aClass)
Sets the class that this entity represents.void
setExists(boolean aFlag)
Sets whether entity exists in data source (has been saved and, if so, not deleted).void
setName(java.lang.String aName)
Sets the name of the entity.void
setProperties(java.util.List<Property> theProps)
Sets a list of properties.void
setSchema(Schema aSchema)
Sets the schema that owns this entity.byte[]
toBytes()
Returns bytes for this entity.java.lang.String
toString()
Returns a string representation of entity (its name).RXElement
toXML(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
-
-
-
-
Field Detail
-
Name_Prop
public static final java.lang.String Name_Prop
- See Also:
- Constant Field Values
-
Exists_Prop
public static final java.lang.String Exists_Prop
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSchema
public Schema getSchema()
Returns the schema that owns this entity.
-
setSchema
public void setSchema(Schema aSchema)
Sets the schema that owns this entity.
-
getEntity
public Entity getEntity(java.lang.String aName)
Returns a named entity using entity resolver.
-
getName
public java.lang.String getName()
Returns the name of the entity.
-
setName
public void setName(java.lang.String aName)
Sets the name of the entity.
-
getExists
public boolean getExists()
Returns whether entity exists in data source (has been saved and, if so, not deleted).
-
setExists
public void setExists(boolean aFlag)
Sets whether entity exists in data source (has been saved and, if so, not deleted).
-
getPropertyCount
public int getPropertyCount()
Returns the number of properties.
-
getProperty
public Property getProperty(int anIndex)
Returns the property at the given index.
-
getProperties
public java.util.List<Property> getProperties()
Returns the list of properties.
-
setProperties
public void setProperties(java.util.List<Property> theProps)
Sets a list of properties.
-
addProperty
public void addProperty(Property aProperty)
Adds a given property.
-
addProperty
public void addProperty(Property aProperty, int anIndex)
Adds a given property at given index.
-
addProperty
public void addProperty(Property... theProperties)
Adds given properties.
-
removeProperty
public java.lang.Object removeProperty(int anIndex)
Removes a property at given index.
-
removeProperty
public int removeProperty(Property aProperty)
Removes the given property.
-
getProperty
public Property getProperty(java.lang.String aName)
Returns the property with the given name.
-
getAttributeCount
public int getAttributeCount()
Returns the number of attributes.
-
getAttribute
public Property getAttribute(int anIndex)
Returns the attribute at the given index.
-
getAttribute
public Property getAttribute(java.lang.String aName)
Returns the attribute with the given name.
-
getRelationCount
public int getRelationCount()
Returns the number of relations in the entity.
-
getRelation
public Property getRelation(int anIndex)
Returns the relation at the given index.
-
getRelations
public java.util.List<Property> getRelations()
Returns the list of relations in the entity.
-
getRelation
public Property getRelation(java.lang.String aName)
Returns the relation for the given key path.
-
getAttributeSorted
public Property getAttributeSorted(int anIndex)
Returns the attribute at the given index in a sorted attributes list.
-
getRelationSorted
public Property getRelationSorted(int anIndex)
Returns the relation at the given index in the sorted list of relations.
-
getPrimary
public Property getPrimary()
Returns the primary key property.
-
getPrimaries
public java.util.List<Property> getPrimaries()
Returns the list of primary attributes for this entity.
-
getEntityClass
public java.lang.Class getEntityClass()
Returns the class that this entity represents.
-
setEntityClass
public void setEntityClass(java.lang.Class aClass)
Sets the class that this entity represents.
-
getKeyPathProperty
public Property getKeyPathProperty(java.lang.String aKeyPath)
Returns the property with the given name.
-
getKeyValue
public java.lang.Object getKeyValue(java.lang.String aKey)
RMKey.Get implementation to return Property for key.- Specified by:
getKeyValue
in interfaceRMKey.Get
-
getDescriptorKey
public java.lang.String getDescriptorKey()
Returns the key/key-chain to the property(s) that returns best string description of an entity instance.
-
setDescriptorKey
public void setDescriptorKey(java.lang.String aValue)
Sets the key/key-chain to the property(s) that returns best string description of an entity instance.
-
getDescriptorKeyGuess
public java.lang.String getDescriptorKeyGuess()
Returns a guess of descriptor key (or the actual one, if set).
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent anEvent)
PropertyChangeListener implementation to forward property changes to entity property change listener.- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals method.- Overrides:
equals
in classjava.lang.Object
-
clone
public Entity clone()
Standard clone implementation.- Overrides:
clone
in classRMListenerList
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.- Specified by:
toXML
in interfaceArchivable
-
fromXML
public Entity fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Specified by:
fromXML
in interfaceArchivable
-
toBytes
@Nullable public byte[] toBytes()
Returns bytes for this entity.
-
fromBytes
public Entity fromBytes(byte[] theBytes) throws RMJSONReader.RMJSONException
Returns entity from bytes.- Throws:
RMJSONReader.RMJSONException
-
save
public void save() throws java.lang.Exception
Saves the entity to its source.- Throws:
java.lang.Exception
-
delete
public void delete() throws java.lang.Exception
Saves this entity from its source.- Throws:
java.lang.Exception
-
getJSONKeys
public java.util.List<java.lang.String> getJSONKeys()
Returns keys to archive JSON.- Specified by:
getJSONKeys
in interfaceRMJSONArchiver.GetKeys
-
-