org.apache.cayenne.map
Class DbAttribute

java.lang.Object
  extended by org.apache.cayenne.map.Attribute
      extended by org.apache.cayenne.map.DbAttribute
All Implemented Interfaces:
Serializable, CayenneMapEntry, XMLSerializable
Direct Known Subclasses:
EODbAttribute

public class DbAttribute
extends Attribute

A DbAttribute defines a descriptor for a single database table column.

See Also:
Serialized Form

Field Summary
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
DbAttribute()
           
DbAttribute(String name)
           
DbAttribute(String name, int type, DbEntity entity)
           
 
Method Summary
 void encodeAsXML(XMLEncoder encoder)
          Prints itself as XML to the provided XMLEncoder.
 String getAliasedName(String alias)
           
 int getAttributePrecision()
           
 int getMaxLength()
          Returns the length of database column described by this attribute.
 int getPrecision()
          Deprecated. since 3.0 as this property really referred to 'scale'. Use getScale() instead.
 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 setPrecision(int i)
          Deprecated. since 3.0 as this property really referred to 'scale'. Use setScale(int) instead.
 void setPrimaryKey(boolean primaryKey)
          Updates attribute "primaryKey" property.
 void setScale(int scale)
           
 void setType(int type)
          Sets the SQL type for the column.
 
Methods inherited from class org.apache.cayenne.map.Attribute
getEntity, getName, getParent, setEntity, setName, setParent, toString
 
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

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.


getPrecision

public int getPrecision()
Deprecated. since 3.0 as this property really referred to 'scale'. Use getScale() instead.

Returns the number of digits after period for DECIMAL.


setPrecision

public void setPrecision(int i)
Deprecated. since 3.0 as this property really referred to 'scale'. Use setScale(int) instead.


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


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.