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 Details

    • 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 Details

    • DbAttribute

      public DbAttribute()
    • DbAttribute

      public DbAttribute​(String name)
    • DbAttribute

      public DbAttribute​(String name, int type, DbEntity entity)
  • Method Details

    • 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, ConfigurationNodeVisitor delegate)
      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