com.comtrade.ecm.engine.business.entity.attributes

## Interface AttributeDefinition

- All Superinterfaces:
    Nameable
  All Known Implementing Classes:
    EcmAttributeDefinition

      public interface AttributeDefinition
      extends Nameable

  Definition of an object that can be used to retrieve all the necessary information about an attribute.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Class<?>` | `getClazz()`
    `int` | `getMaxLength()`
    `int` | `getMaxTableLength()`
    `int` | `getMinLength()`
    `java.lang.String` | `getName()` Returns "a name" of an object.
    `AttributeShowability` | `getRecordShowable()`
    `AttributeShowability` | `getShowable()`
    `java.lang.String` | `getTableName()`
    `AttributeShowability` | `getTableShowable()`
    `java.lang.String` | `getTitle()`
    `java.lang.String` | `getType()`
    `boolean` | `isEditable()`
    `boolean` | `isExportable()`
    `boolean` | `isFilterable()`
    `boolean` | `isNative()`
    `boolean` | `isNullable()`
    `boolean` | `isRecordEditable()`
    `boolean` | `isRecordShowable()`
    `boolean` | `isRepeating()`
    `boolean` | `isShowable()`
    `boolean` | `isSummable()`
    `boolean` | `isTableEditable()`
    `boolean` | `isTableShowable()`
    `boolean` | `isTrimmed()`
    `boolean` | `isValueHidden()`
    `void` | `setEditable(boolean editable)`
    `void` | `setExportable(boolean exportable)`
    `void` | `setFilterable(boolean filterable)`
    `void` | `setNullable(boolean nullable)`
    `void` | `setRecordEditable(boolean recordEditable)`
    `void` | `setRecordShowable(AttributeShowability recordShowable)`
    `void` | `setShowable(AttributeShowability showable)`
    `void` | `setSummable(boolean summable)`
    `void` | `setTableEditable(boolean tableEditable)`
    `void` | `setTableShowable(AttributeShowability tableShowable)`

- - ### Method Detail

    - #### getName

          java.lang.String getName()

      Description copied from interface: `Nameable`
      Returns "a name" of an object.
      Specified by:
        `getName` in interface `Nameable`
      Returns:
        Name of a attribute

    - #### getTableName

          java.lang.String getTableName()

      Returns:
        Name of a source (persistence level) column

    - #### getType

          java.lang.String getType()

      Returns:
        Type of a attribute

    - #### getTitle

          java.lang.String getTitle()

      Returns:
        Language-properties key of a title attribute

    - #### getClazz

          java.lang.Class<?> getClazz()

      Returns:
        Type of a attribute as Class object

    - #### isNative

          boolean isNative()

      Returns:
        Does this column belong to an entity, or is an additional data from a related entity

    - #### isNullable

          boolean isNullable()

      Returns:
        Can this attribute have NULL content

    - #### setNullable

          void setNullable(boolean nullable)

    - #### getShowable

          AttributeShowability getShowable()

      Returns:
        Can this attribute be shown (at all)

    - #### setShowable

          void setShowable(AttributeShowability showable)

    - #### getTableShowable

          AttributeShowability getTableShowable()

      Returns:
        Can this attribute be shown in a datagrid

    - #### setTableShowable

          void setTableShowable(AttributeShowability tableShowable)

    - #### getRecordShowable

          AttributeShowability getRecordShowable()

      Returns:
        Can this attribute be shown in a record form

    - #### setRecordShowable

          void setRecordShowable(AttributeShowability recordShowable)

    - #### isShowable

          boolean isShowable()

      Returns:
        Is this attribute showable (at all, in datagrid, in record form)

    - #### isTableShowable

          boolean isTableShowable()

    - #### isRecordShowable

          boolean isRecordShowable()

    - #### isEditable

          boolean isEditable()

      Returns:
        Is attribute editable (at all)

    - #### setEditable

          void setEditable(boolean editable)

    - #### isExportable

          boolean isExportable()

      Returns:
        Is attribute exportable

    - #### setExportable

          void setExportable(boolean exportable)

    - #### isTableEditable

          boolean isTableEditable()

      Returns:
        Is attribute editable in a datagrid

    - #### setTableEditable

          void setTableEditable(boolean tableEditable)

    - #### isRecordEditable

          boolean isRecordEditable()

      Returns:
        Is column attribute in a record form

    - #### setRecordEditable

          void setRecordEditable(boolean recordEditable)

    - #### isSummable

          boolean isSummable()

      Returns:
        Should this attribute have a sum?

    - #### setSummable

          void setSummable(boolean summable)

    - #### getMinLength

          int getMinLength()

    - #### getMaxLength

          int getMaxLength()

    - #### getMaxTableLength

          int getMaxTableLength()

    - #### isTrimmed

          boolean isTrimmed()

      Returns:
        Should a value of this attribute be trimmed?

    - #### isValueHidden

          boolean isValueHidden()

      Returns:
        Should a value of this attribute be shown with secret/hidden characters (for example, a password)?

    - #### isRepeating

          boolean isRepeating()

      Returns:
        Does attribute represent a collection of data (of the same type)

    - #### isFilterable

          boolean isFilterable()

    - #### setFilterable

          void setFilterable(boolean filterable)