Class ClassTypeAttributeDescriptor

java.lang.Object
de.hybris.platform.integrationservices.model.impl.AbstractDescriptor
de.hybris.platform.integrationservices.model.impl.ClassTypeAttributeDescriptor
All Implemented Interfaces:
TypeAttributeDescriptor

public class ClassTypeAttributeDescriptor extends AbstractDescriptor implements TypeAttributeDescriptor
Common superclass for all descriptors produced by DefaultDescriptorFactory TypeAttributeDescriptor implementation for a IntegrationObjectClassAttributeModel.
  • Method Details

    • getAttributeName

      public String getAttributeName()
      Description copied from interface: TypeAttributeDescriptor
      Gets name of the attribute described by this descriptor.
      Specified by:
      getAttributeName in interface TypeAttributeDescriptor
      Returns:
      name of the attribute as it was defined for the integration object.
    • getQualifier

      public String getQualifier()
      Gets name of this attribute in the platform type system.
      Specified by:
      getQualifier in interface TypeAttributeDescriptor
      Returns:
      always returns an empty string as class types are not persisted in platform.
    • isCollection

      public boolean isCollection()
      Description copied from interface: TypeAttributeDescriptor
      Determines whether this attribute contains a single value or multiple values (a collection of values).
      Specified by:
      isCollection in interface TypeAttributeDescriptor
      Returns:
      true, if this attribute contains a collection of primitive or complex type values; false, if this attribute contains only a single primitive or complex type value.
    • getAttributeType

      public TypeDescriptor getAttributeType()
      Retrieves type of this attribute value(s).
      Specified by:
      getAttributeType in interface TypeAttributeDescriptor
      Returns:
      type of this attribute value
      See Also:
    • getTypeDescriptor

      public TypeDescriptor getTypeDescriptor()
      Description copied from interface: TypeAttributeDescriptor
      Retrieves descriptor of the type, this attribute is associated with.
      Specified by:
      getTypeDescriptor in interface TypeAttributeDescriptor
      Returns:
      descriptor of the item type that contains the attribute described by this attribute descriptor.
    • reverse

      public Optional<TypeAttributeDescriptor> reverse()
      Description copied from interface: TypeAttributeDescriptor

      Reverses the relation described by this attribute descriptor and retrieves an attribute descriptor defined in the TypeAttributeDescriptor.getAttributeType() type descriptor with TypeAttributeDescriptor.getTypeDescriptor() attribute type.

      For example, type Parent has attribute children that refers a collection of type Child; and type Child has an attribute parent referring back to Parent type. Then attribute descriptor for parent attribute is reverse for children attribute descriptor.

      Another example, type Organization has attribute addresses that refers a collection of type Address; but type Address does not refer back to type Organization. In this case there is no reverse attribute for addresses attribute descriptor.

      Specified by:
      reverse in interface TypeAttributeDescriptor
      Returns:
      an optional containing a descriptor for the attribute in type returned by TypeAttributeDescriptor.getAttributeType(), which refers back to the type retrieved by calling TypeAttributeDescriptor.getTypeDescriptor() on this attribute descriptor; or an empty optional that attribute type of this descriptor does not refer back to the type containing this attribute descriptor.
    • isNullable

      public boolean isNullable()
      Description copied from interface: TypeAttributeDescriptor
      Determines whether the attribute represented by this descriptor can take null values.
      Specified by:
      isNullable in interface TypeAttributeDescriptor
      Returns:
      true, if the attribute can take null values; false, if the attribute value is required.
    • isPartOf

      public boolean isPartOf()
      Determines whether the item referenced by this attribute should be a part of the attribute's item model or not. This defines in particular whether the nested referenced item will be created whenever the "container" item is persisted (part of) or it can and should exist and persist independently (not a part of). For example, a Car has an attribute engine, which refers item Engine. If the business model is interested in cars only and does not care about engines outside the car model, then the attribute should be defined with partOf == true. If the engine has independent existence, e.g. engine can be sold without a car, then the attribute should be defined with partOf == false.

      In other words, this attribute descriptor defines a relation between an owner and the owned item. Thus in the example above Engine is owned by Car as it does not have independent existence in the model.

      Specified by:
      isPartOf in interface TypeAttributeDescriptor
      Returns:
      always false, as classes can exist independently.
      See Also:
    • isAutoCreate

      public boolean isAutoCreate()
      Determines whether the item referenced by this attribute should be persisted when the item with this attribute is persisted. Unlike TypeAttributeDescriptor.isPartOf() this method does not require the referenced item to be an integral part of the owner item. The referenced item may have its independent existence in the domain model and yet it will be persisted together with the item holding an attribute described by this descriptor.
      Specified by:
      isAutoCreate in interface TypeAttributeDescriptor
      Returns:
      always false, as classes can exist independently.
      See Also:
    • isLocalized

      public boolean isLocalized()
      Description copied from interface: TypeAttributeDescriptor
      Determines whether the value of this descriptor can be localized. This method may need to be used with TypeAttributeDescriptor.isMap() to determine whether the attribute supports multiple locale specific values. Some attributes may be localized but do not support multi-locale values. For example, a simple Numeric or Boolean attribute can be declared as localized.
      Specified by:
      isLocalized in interface TypeAttributeDescriptor
      Returns:
      true if localized, else false
    • isPrimitive

      public boolean isPrimitive()
      Description copied from interface: TypeAttributeDescriptor
      Determines whether the value of this descriptor is a primitive type
      Specified by:
      isPrimitive in interface TypeAttributeDescriptor
      Returns:
      true if it's a primitive type, else false
    • isMap

      public boolean isMap()
      Description copied from interface: TypeAttributeDescriptor
      Determines whether the attribute is referring to a map of values. Typically, used to determine in conjunction with TypeAttributeDescriptor.isLocalized() to determine whether the attribute can hold multiple locale specific values. However, it can be used by itself.
      Specified by:
      isMap in interface TypeAttributeDescriptor
      Returns:
      true, if the attribute refers to a map; false otherwise.
    • isSettable

      public boolean isSettable(Object item)
      Indicates whether this attribute's value can be set.
      Specified by:
      isSettable in interface TypeAttributeDescriptor
      Returns:
      always returns false.
    • isKeyAttribute

      public boolean isKeyAttribute()
      Determines whether this attribute is a key attribute
      Specified by:
      isKeyAttribute in interface TypeAttributeDescriptor
      Returns:
      always false, as class type cannot have a key.
    • isReadable

      public boolean isReadable()
      Determines whether this attribute is readable
      Specified by:
      isReadable in interface TypeAttributeDescriptor
      Returns:
      always true.
    • getCollectionDescriptor

      public CollectionDescriptor getCollectionDescriptor()
      Specified by:
      getCollectionDescriptor in interface TypeAttributeDescriptor
      Returns:
      A collection descriptor
    • getMapDescriptor

      public Optional<MapDescriptor> getMapDescriptor()
      Gets a map descriptor for this attribute.
      Specified by:
      getMapDescriptor in interface TypeAttributeDescriptor
      Returns:
      Optional containing a MapDescriptor, if this attribute is of Map type; otherwise returns Optional.empty()
      See Also:
    • accessor

      public AttributeValueAccessor accessor()
      Description copied from interface: TypeAttributeDescriptor
      Gets the AttributeValueAccessor for accessing this attribute's value
      Specified by:
      accessor in interface TypeAttributeDescriptor
      Returns:
      The AttributeValueAccessor