Class KimType

All Implemented Interfaces:
Serializable, Inactivatable, GloballyUnique, Identifiable, Versioned, ModelObjectBasic, ModelObjectComplete, KimTypeContract

public final class KimType extends AbstractDataTransferObject implements KimTypeContract
An immutable representation of a KimTypeContract.

To construct an instance of a KimType, use the KimType.Builder class.

See Also:
  • Method Details

    • getAttributeDefinitionById

      public KimTypeAttribute getAttributeDefinitionById(String id)
      Gets the KimTypeAttribute matching the id of it's KimAttribute. If no attribute definition exists with that id then null is returned.

      If multiple exist with the same id then the first match is returned. Since id is supposed to be unique this should not be a problem in practice.

      Parameters:
      id - the KimTypeAttribute.KimAttribute's id
      Returns:
      the KimTypeAttribute or null
      Throws:
      IllegalArgumentException - if the id is blank
    • getAttributeDefinitionByName

      public KimTypeAttribute getAttributeDefinitionByName(String name)
      Gets the KimTypeAttribute matching the name of it's KimAttribute. If no attribute definition exists with that name then null is returned.

      If multiple exist with the same name then the first match is returned. Since name is supposed to be unique this should not be a problem in practice.

      Parameters:
      name - the KimTypeAttribute's name
      Returns:
      the KimTypeAttribute or null
      Throws:
      IllegalArgumentException - if the name is blank
    • getId

      public String getId()
      Specified by:
      getId in interface Identifiable
    • getServiceName

      public String getServiceName()
      Description copied from interface: KimTypeContract
      The service name used to resolve attribute values.
      Specified by:
      getServiceName in interface KimTypeContract
      Returns:
      the service name
    • getNamespaceCode

      public String getNamespaceCode()
      Description copied from interface: KimTypeContract
      The namespace code that this kim type belongs too.
      Specified by:
      getNamespaceCode in interface KimTypeContract
      Returns:
      namespace code
    • getName

      public String getName()
      Description copied from interface: KimTypeContract
      The name of the kim type.
      Specified by:
      getName in interface KimTypeContract
      Returns:
      the name
    • getAttributeDefinitions

      public List<KimTypeAttribute> getAttributeDefinitions()
      Description copied from interface: KimTypeContract
      The list of attribute definitions associated with the kim type. This cannot be null. If no attribute definitions are associated with the kim type then this will return an empty collection.
      Specified by:
      getAttributeDefinitions in interface KimTypeContract
      Returns:
      the list of attribute definitions
    • isActive

      public boolean isActive()
      Specified by:
      isActive in interface Inactivatable
    • getVersionNumber

      public Long getVersionNumber()
      Specified by:
      getVersionNumber in interface Versioned
    • getObjectId

      public String getObjectId()
      Specified by:
      getObjectId in interface GloballyUnique