Class AttributeMetaData.MetaDataElement

java.lang.Object
de.aristaflow.adept2.core.orgmodelmanager.AttributeMetaData.MetaDataElement
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
OmeAttributeMetaData.OmeMetaDataElement
Enclosing class:
AttributeMetaData

public static class AttributeMetaData.MetaDataElement extends Object implements Serializable
Used to hold information about a single attribute. equals(Object) and hashCode() are implemented to only consider getEntityType() and getName().
See Also:
  • Constructor Details

    • MetaDataElement

      public MetaDataElement(EntityType entityType, String name, DataType dataType, int sizeHint, boolean readOnly, Map<String,String> attrMappings, Collection<String> writeBackExts)
      Creates a new MetaDataElement for the designated attributes.
      Parameters:
      entityType - The entity type the attribute belongs to.
      name - The name of the attribute.
      dataType - The data type of the attribute.
      sizeHint - The desired size of the attribute (only relevant for a String attribute).
      readOnly - Whether the attribute is read-only within the entity type. This prevents changing the attribute at all and not only for a specific org model extension.
      attrMappings - The names of the attributes (values) in the corresponding org model extensions (keys) to which this OM attribute is mapped in priority order, higher priority first. This may be null.
      writeBackExts - The names of the org model extension (of the designated attrMappings which want to be informed about changes from OmeAttributes.ATTR_VALUE_SYSTEM_SOURCE. Only the values corresponding to the keys of attrMappings will be considered. This may be null.
    • MetaDataElement

      @Deprecated(since="13.0.0", forRemoval=true) public MetaDataElement(EntityType entityType, String name, DataType dataType, int sizeHint, String omExt, String mappedTo, boolean imported, boolean isReadOnly)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Constructs a new MetaDataElement for the given entity type, attribute name and data type.
      Parameters:
      entityType - the entity type this attribute belongs to
      name - the name of the attribute
      dataType - the data type of the attribute
      sizeHint - the desired size (only for STRING attributes)
      omExt - The name of the org model extension if this OM attribute is mapped to an atrtibute of an org model extension, null otherwise.
      mappedTo - The name of the attribute of an org model extension if this OM attribute is mapped to one, null otherwise.
      imported -
      isReadOnly - whether
  • Method Details

    • getEntityType

      public EntityType getEntityType()
      Returns the entity type this attribute belongs to.
      Returns:
      the entity type this attribute belongs to
    • getName

      public String getName()
      Returns the the name of the attribute.
      Returns:
      the name of the attribute
    • getDataType

      public DataType getDataType()
      Returns the date type of the attribute.
      Returns:
      the date type of the attribute
    • getSizeHint

      public int getSizeHint()
      Returns the desired size (only for STRING attributes).
      Returns:
      the desired size
    • getMappedTo

      @Deprecated(since="13.0.0", forRemoval=true) public SerialisablePair<String,String> getMappedTo()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the name of the org model extension and the name of the attribute to which this attribute is mapped to. If this attribute is not mapped to an org model extension, null will be returned.
      Returns:
      The name of the org model extension and the name of the attribute to which this attribute is mapped to. If this attribute is not mapped to an org model extension, null will be returned.
    • getAttrMappings

      public Map<String,String> getAttrMappings()
      Gets the org model extensions (and the corresponding attributes) this attribute is mapped to. The org model extensions are ordered by their priority, with higher priority first.
      Returns:
      The org model extensions (and the corresponding attributes) this attribute is mapped to in the order of their priority, higher priority first.
    • getAttrMapping

      public String getAttrMapping(String omExt)
      Gets the attribute of the designated org model extension this attribute is mapped to or null if the attribute is not mapped to the designated org model extension.
      Parameters:
      omExt - The org model extension for which to get the attribute mapping of this attribute.
      Returns:
      The attribute of the designated org model extension this attribute is mapped to. null for an attribute that does not stem from the designated org model extension.
    • writeBackTo

      public boolean writeBackTo(String omExt)
      Gets whether the attribute should write back changes of this attribute caused by OmeAttributes.ATTR_VALUE_SYSTEM_SOURCE.
      Parameters:
      omExt - The org model extension for which to get whether a new attribute value of the system should be is written back to the org model extension.
      Returns:
      Whether value changes of this attribute by the system should be written back to the designated org model extension.
    • isImported

      @Deprecated(since="13.0.0", forRemoval=true) public boolean isImported()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns whether the value of a mapped attribute is imported into the OM.
      Returns:
      whether the value of a mapped attribute is imported into the OM
    • isMandatory

      public boolean isMandatory()
      Returns whether the attribute is mandatory within the entity type.
      Returns:
      whether the attribute is mandatory within the entity type
    • isReadOnly

      public boolean isReadOnly()
      Gets whether the attribute is read-only within the entity type.
      Returns:
      Whether the attribute is read-only within the entity type (and thus implicitly for all org model extensions).
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object