org.apache.cayenne.map

## Class DbAttribute

- java.lang.Object
- - org.apache.cayenne.map.Attribute
  - - org.apache.cayenne.map.DbAttribute

- All Implemented Interfaces:
    Serializable, ConfigurationNode, CayenneMapEntry, XMLSerializable

      public class DbAttribute
      extends Attribute
      implements ConfigurationNode

  A DbAttribute defines a descriptor for a single database table column.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `attributePrecision`
    `protected boolean` | `generated` Defines whether this column value is generated by the database.
    `protected boolean` | `mandatory` Defines whether the attribute allows nulls.
    `protected int` | `maxLength`
    `protected boolean` | `primaryKey` Defines whether the attribute is a part of the table primary key.
    `protected int` | `scale`
    `protected int` | `type` Defines JDBC type of the column.

    - ### Fields inherited from class org.apache.cayenne.map.Attribute

      `entity, name`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DbAttribute()`
    `DbAttribute(String name)`
    `DbAttribute(String name, int type, DbEntity entity)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `acceptVisitor(ConfigurationNodeVisitor<T> visitor)`
    `void` | `encodeAsXML(XMLEncoder encoder)` Prints itself as XML to the provided XMLEncoder.
    `String` | `getAliasedName(String alias)`
    `int` | `getAttributePrecision()`
    `DbEntity` | `getEntity()` Returns parent entity that holds this attribute.
    `int` | `getMaxLength()` Returns the length of database column described by this attribute.
    `int` | `getScale()` Returns the number of digits after period for decimal attributes.
    `int` | `getType()` Returns the SQL type of the column.
    `boolean` | `isForeignKey()` Returns `true` if the DB column represented by this attribute is a foreign key, referencing another table.
    `boolean` | `isGenerated()` Returns true if this column value is generated by the database.
    `boolean` | `isMandatory()`
    `boolean` | `isPrimaryKey()`
    `void` | `setAttributePrecision(int attributePrecision)`
    `void` | `setGenerated(boolean generated)` Updates attribute "generated" property.
    `void` | `setMandatory(boolean mandatory)`
    `void` | `setMaxLength(int maxLength)` Sets the length of character or binary type or max num of digits for DECIMAL.
    `void` | `setPrimaryKey(boolean primaryKey)` Updates attribute "primaryKey" property.
    `void` | `setScale(int scale)`
    `void` | `setType(int type)` Sets the SQL type for the column.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.cayenne.map.Attribute

      `getName, getParent, setEntity, setName, setParent`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### type

          protected int type

      Defines JDBC type of the column.

    - #### mandatory

          protected boolean mandatory

      Defines whether the attribute allows nulls.

    - #### primaryKey

          protected boolean primaryKey

      Defines whether the attribute is a part of the table primary key.

    - #### generated

          protected boolean generated

      Defines whether this column value is generated by the database. Other terms for such columns are "auto-increment" or "identity".
      Since:
        1.2

    - #### maxLength

          protected int maxLength

    - #### scale

          protected int scale

      Since:
        3.0

    - #### attributePrecision

          protected int attributePrecision

      Since:
        3.0

  - ### Constructor Detail

    - #### DbAttribute

          public DbAttribute()

    - #### DbAttribute

          public DbAttribute(String name)

    - #### DbAttribute

          public DbAttribute(String name,
                             int type,
                             DbEntity entity)

  - ### Method Detail

    - #### getEntity

          public DbEntity getEntity()

      Description copied from class: `Attribute`
      Returns parent entity that holds this attribute.
      Overrides:
        `getEntity` in class `Attribute`

    - #### acceptVisitor

          public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)

      Specified by:
        `acceptVisitor` in interface `ConfigurationNode`

    - #### encodeAsXML

          public void encodeAsXML(XMLEncoder encoder)

      Prints itself as XML to the provided XMLEncoder.
      Specified by:
        `encodeAsXML` in interface `XMLSerializable`
      Specified by:
        `encodeAsXML` in class `Attribute`
      Since:
        1.1

    - #### getAliasedName

          public String getAliasedName(String alias)

    - #### getType

          public int getType()

      Returns the SQL type of the column.
      See Also:
        `Types`

    - #### setType

          public void setType(int type)

      Sets the SQL type for the column.
      See Also:
        `Types`

    - #### isPrimaryKey

          public boolean isPrimaryKey()

    - #### isForeignKey

          public boolean isForeignKey()

      Returns `true` if the DB column represented by this attribute is a foreign key, referencing another table.
      Since:
        1.1

    - #### setPrimaryKey

          public void setPrimaryKey(boolean primaryKey)

      Updates attribute "primaryKey" property.

    - #### isMandatory

          public boolean isMandatory()

    - #### setMandatory

          public void setMandatory(boolean mandatory)

    - #### getMaxLength

          public int getMaxLength()

      Returns the length of database column described by this attribute.

    - #### setMaxLength

          public void setMaxLength(int maxLength)

      Sets the length of character or binary type or max num of digits for DECIMAL.

    - #### isGenerated

          public boolean isGenerated()

      Returns true if this column value is generated by the database. Other terms for such columns are "auto-increment" or "identity".
      Since:
        1.2

    - #### setGenerated

          public void setGenerated(boolean generated)

      Updates attribute "generated" property.
      Since:
        1.2

    - #### getAttributePrecision

          public int getAttributePrecision()

      Since:
        3.0

    - #### setAttributePrecision

          public void setAttributePrecision(int attributePrecision)

      Since:
        3.0

    - #### getScale

          public int getScale()

      Returns the number of digits after period for decimal attributes. Returns "-1" if not set.
      Since:
        3.0

    - #### setScale

          public void setScale(int scale)

      Since:
        3.0

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Attribute`

Copyright © 2001–2023 Apache Cayenne. All rights reserved.