org.castor.cpa.jpa.natures
Class JPAFieldNature

java.lang.Object
  extended by org.castor.core.nature.BaseNature
      extended by org.castor.cpa.jpa.natures.JPAFieldNature

public class JPAFieldNature
extends BaseNature

A BaseNature extension, that gives access to information derived from field bound JPA annotations.

Since:
1.3
Author:
Peter Schmidt, Martin Kandler
See Also:
PropertyHolder

Field Summary
static String CASCADE_TYPES
          Property Key for CascadeType array of a relation.
static String LOB
          Property Key for Lob
static String STRING_ENUM_TYPE
          Property Key for Enumerated
static String TEMPORAL_TYPE
          Property Key for Temporal
 
Constructor Summary
JPAFieldNature(PropertyHolder holder)
          Instantiate a JPAFieldNature to access the given PropertyHolder.
 
Method Summary
 javax.persistence.FetchType getBasicFetch()
           
 javax.persistence.CascadeType[] getCascadeTypes()
           
 String getColumnDefinition()
          Returns the 'columnDefinition' value of the @Column annotation.
 Boolean getColumnInsertable()
           
 Integer getColumnLength()
           
 String getColumnName()
          Returns the name of the @Column annotation.
 Boolean getColumnNullable()
           
 Integer getColumnPrecision()
           
 Integer getColumnScale()
           
 String getColumnTable()
           
 Boolean getColumnUnique()
           
 Boolean getColumnUpdatable()
           
 FieldInfo getFieldInfo()
          Get the underlying FieldInfo (the PropertyHolder).
 String getGeneratedValueGenerator()
          Get the GeneratedValue.generator()
 javax.persistence.GenerationType getGeneratedValueStrategy()
          Get the GeneratedValue.strategy()
 String getId()
          
 String getJoinColumnColumnDefinition()
           
 Boolean getJoinColumnInsertable()
           
 String getJoinColumnName()
           
 Boolean getJoinColumnNullable()
           
 String getJoinColumnReferencedColumnName()
           
 String getJoinColumnTable()
           
 Boolean getJoinColumnUnique()
           
 Boolean getJoinColumnUpdatable()
           
 String getJoinTableCatalog()
           
 javax.persistence.JoinColumn[] getJoinTableInverseJoinColumns()
           
 javax.persistence.JoinColumn[] getJoinTableJoinColumns()
           
 String getJoinTableName()
           
 String getJoinTableSchema()
           
 Class<?> getRelationCollectionType()
           
 String getRelationMappedBy()
           
 Class<?> getRelationTargetEntity()
           
 javax.persistence.TemporalType getTemporalType()
           
 boolean isBasicOptional()
           
 boolean isId()
           
 boolean isLob()
           
 boolean isManyToMany()
           
 boolean isManyToManyInverseCopy()
           
 boolean isManyToOne()
           
 boolean isOneToMany()
           
 boolean isOneToOne()
           
 boolean isRelationLazyFetch()
           
 boolean isRelationOptional()
           
 boolean isStringEnumType()
           
 boolean isTransient()
           
 void setBasicFetch(javax.persistence.FetchType fetch)
           
 void setBasicOptional(boolean optional)
           
 void setCascadeTypes(javax.persistence.CascadeType[] cascadeTypes)
           
 void setColumnDefinition(String columnDefinition)
          Sets the 'columnDefinition' value of the @Column annotation.
 void setColumnInsertable(boolean insertable)
           
 void setColumnLength(int length)
           
 void setColumnName(String name)
          Set the name value of the @Column annotation.
 void setColumnNullable(boolean nullable)
           
 void setColumnPrecision(int precision)
           
 void setColumnScale(int scale)
           
 void setColumnTable(String table)
           
 void setColumnUnique(boolean unique)
           
 void setColumnUpdatable(boolean updatable)
           
 void setGeneratedValueGenerator(String generator)
          Set the GeneratedValue.generator()
 void setGeneratedValueStrategy(javax.persistence.GenerationType strategy)
          Set the GeneratedValue.strategy()
 void setId(boolean isId)
           
 void setJoinColumnColumnDefinition(String columnDefinition)
           
 void setJoinColumnInsertable(boolean insertable)
           
 void setJoinColumnName(String name)
           
 void setJoinColumnNullable(boolean nullable)
           
 void setJoinColumnReferencedColumnName(String referencedColumnName)
           
 void setJoinColumnTable(String table)
           
 void setJoinColumnUnique(boolean unique)
           
 void setJoinColumnUpdatable(boolean updatable)
           
 void setJoinTableCatalog(String catalog)
           
 void setJoinTableInverseJoinColumns(javax.persistence.JoinColumn[] inverseJoinColumns)
           
 void setJoinTableJoinColumns(javax.persistence.JoinColumn[] joinColumns)
           
 void setJoinTableName(String tablename)
           
 void setJoinTableSchema(String schema)
           
 void setLob(boolean isLob)
           
 void setManyToMany(boolean hasManyToMany)
           
 void setManyToManyInverseCopy(boolean copySettingsInverse)
           
 void setManyToOne(boolean hasManyToOne)
           
 void setOneToMany(boolean hasOneToMany)
           
 void setOneToOne(boolean hasOneToOne)
           
 void setRelationCollectionType(Class<?> collectionType)
           
 void setRelationLazyFetch(boolean lazyFetch)
           
 void setRelationMappedBy(String mappedBy)
           
 void setRelationOptional(boolean optional)
           
 void setRelationTargetEntity(Class<?> targetEntity)
           
 void setStringEnumType(boolean isStringEnumType)
           
 void setTemporalType(javax.persistence.TemporalType temporalType)
           
 void setTransient(boolean isTransient)
           
 
Methods inherited from class org.castor.core.nature.BaseNature
getBooleanPropertyDefaultFalse, getHolder, getProperty, getPropertyAsList, getPropertyAsMap, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEMPORAL_TYPE

public static final String TEMPORAL_TYPE
Property Key for Temporal

See Also:
Constant Field Values

LOB

public static final String LOB
Property Key for Lob

See Also:
Constant Field Values

STRING_ENUM_TYPE

public static final String STRING_ENUM_TYPE
Property Key for Enumerated

See Also:
Constant Field Values

CASCADE_TYPES

public static final String CASCADE_TYPES
Property Key for CascadeType array of a relation.

See Also:
Constant Field Values
Constructor Detail

JPAFieldNature

public JPAFieldNature(PropertyHolder holder)
Instantiate a JPAFieldNature to access the given PropertyHolder.

Parameters:
holder - The underlying PropertyHolder (obviously a FieldInfo).
See Also:
PropertyHolder
Method Detail

getId

public final String getId()

See Also:
Nature.getId()

getFieldInfo

public FieldInfo getFieldInfo()
Get the underlying FieldInfo (the PropertyHolder).

Returns:
the underlying FieldInfo. If the PropertyHolder was not of type FieldInfo, null is returned.

setBasicFetch

public final void setBasicFetch(javax.persistence.FetchType fetch)
Parameters:
fetch - The value of Basic.fetch()
See Also:
BASIC_FETCH

getBasicFetch

public final javax.persistence.FetchType getBasicFetch()
Returns:
The value of Basic.fetch()
See Also:
BASIC_FETCH

setBasicOptional

public final void setBasicOptional(boolean optional)
Parameters:
optional - The value of Basic.optional()
See Also:
BASIC_OPTIONAL

isBasicOptional

public final boolean isBasicOptional()
Returns:
True if Basic.optional() was set to true on the field.
See Also:
BASIC_OPTIONAL

setColumnName

public final void setColumnName(String name)
Set the name value of the @Column annotation.

Parameters:
name - The value of Column.name()
See Also:
COLUMN_NAME

getColumnName

public final String getColumnName()
Returns the name of the @Column annotation.

Returns:
The value of Column.name()
See Also:
COLUMN_NAME

setColumnDefinition

public final void setColumnDefinition(String columnDefinition)
Sets the 'columnDefinition' value of the @Column annotation.

Parameters:
columnDefinition - The value of Column.columnDefinition()
See Also:
COLUMN_DEFINITION

getColumnDefinition

public final String getColumnDefinition()
Returns the 'columnDefinition' value of the @Column annotation.

Returns:
The value of Column.columnDefinition()
See Also:
COLUMN_DEFINITION

setColumnLength

public final void setColumnLength(int length)
Parameters:
length - The value of Column.length()
See Also:
COLUMN_LENGTH

getColumnLength

public final Integer getColumnLength()
Returns:
The value of Column.length()
See Also:
COLUMN_LENGTH

setColumnInsertable

public final void setColumnInsertable(boolean insertable)
Parameters:
insertable - The value of Column.insertable()
See Also:
COLUMN_INSERTABLE

getColumnInsertable

public final Boolean getColumnInsertable()
Returns:
The value of Column.insertable()
See Also:
COLUMN_INSERTABLE

setColumnNullable

public final void setColumnNullable(boolean nullable)
Parameters:
nullable - The value of Column.nullable()
See Also:
COLUMN_NULLABLE

getColumnNullable

public final Boolean getColumnNullable()
Returns:
The value of Column.nullable()
See Also:
COLUMN_NULLABLE

setColumnPrecision

public final void setColumnPrecision(int precision)
Parameters:
precision - The value of Column.precision()
See Also:
COLUMN_PRECISION

getColumnPrecision

public final Integer getColumnPrecision()
Returns:
The value of Column.precision()
See Also:
COLUMN_PRECISION

setColumnScale

public final void setColumnScale(int scale)
Parameters:
scale - The value of Column.scale()
See Also:
COLUMN_SCALE

getColumnScale

public final Integer getColumnScale()
Returns:
The value of Column.scale()
See Also:
COLUMN_SCALE

setColumnTable

public final void setColumnTable(String table)
Parameters:
table - The value of Column.table()
See Also:
COLUMN_TABLE

getColumnTable

public final String getColumnTable()
Returns:
The value of Column.table()
See Also:
COLUMN_TABLE

setColumnUnique

public final void setColumnUnique(boolean unique)
Parameters:
unique - The value of Column.unique()
See Also:
COLUMN_UNIQUE

getColumnUnique

public final Boolean getColumnUnique()
Returns:
The value of Column.unique()
See Also:
COLUMN_UNIQUE

setColumnUpdatable

public final void setColumnUpdatable(boolean updatable)
Parameters:
updatable - The value of Column.updatable()
See Also:
COLUMN_UPDATABLE

getColumnUpdatable

public final Boolean getColumnUpdatable()
Returns:
The value of Column.updatable()
See Also:
COLUMN_UPDATABLE

setId

public final void setId(boolean isId)
Parameters:
isId - If Id was found on that property.
See Also:
ID

isId

public final boolean isId()
Returns:
true if Id was set on the property, else false.
See Also:
ID

setTransient

public final void setTransient(boolean isTransient)
Parameters:
isTransient - if Transient was found on that property.
See Also:
TRANSIENT

isTransient

public final boolean isTransient()
Returns:
true if Transient was set on the property, else false
See Also:
TRANSIENT

setJoinTableName

public void setJoinTableName(String tablename)
Parameters:
tablename - The value of JoinTable.name()
See Also:
JOINTABLE_NAME

getJoinTableName

public String getJoinTableName()
Returns:
The value of JoinTable.name()
See Also:
JOINTABLE_NAME

setJoinTableCatalog

public void setJoinTableCatalog(String catalog)
Parameters:
catalog - The value of JoinTable.catalog()
See Also:
JOINTABLE_CATALOG

getJoinTableCatalog

public String getJoinTableCatalog()
Returns:
The value of JoinTable.catalog()
See Also:
JOINTABLE_CATALOG

setJoinTableSchema

public void setJoinTableSchema(String schema)
Parameters:
schema - The value of JoinTable.schema()
See Also:
JOINTABLE_SCHEMA

getJoinTableSchema

public String getJoinTableSchema()
Returns:
The value ofJoinTable.schema()
See Also:
#TABLE_SCHEMA

setJoinTableJoinColumns

public void setJoinTableJoinColumns(javax.persistence.JoinColumn[] joinColumns)
Parameters:
joinColumns - The value of JoinTable.joinColumns()
See Also:
JOINTABLE_JOINCOLUMNS

getJoinTableJoinColumns

public javax.persistence.JoinColumn[] getJoinTableJoinColumns()
Returns:
The value ofJoinTable.joinColumns()
See Also:
JOINTABLE_JOINCOLUMNS

setJoinTableInverseJoinColumns

public void setJoinTableInverseJoinColumns(javax.persistence.JoinColumn[] inverseJoinColumns)
Parameters:
inverseJoinColumns - The value of JoinTable.inverseJoinColumns()
See Also:
JOINTABLE_INVERSE_JOINCOLUMNS

getJoinTableInverseJoinColumns

public javax.persistence.JoinColumn[] getJoinTableInverseJoinColumns()
Returns:
The value of JoinTable.inverseJoinColumns()
See Also:
JOINTABLE_INVERSE_JOINCOLUMNS

setJoinColumnName

public final void setJoinColumnName(String name)
Parameters:
name - The value of JoinColumn.name().
See Also:
JOINCOLUMN_NAME

getJoinColumnName

public final String getJoinColumnName()
Returns:
The value of JoinColumn.name().
See Also:
JOINCOLUMN_NAME

setJoinColumnReferencedColumnName

public final void setJoinColumnReferencedColumnName(String referencedColumnName)
Parameters:
referencedColumnName - The value of JoinColumn.referencedColumnName().
See Also:
JOINCOLUMN_REFERENCEDCOLUMNNAME

getJoinColumnReferencedColumnName

public final String getJoinColumnReferencedColumnName()
Returns:
The value of JoinColumn.referencedColumnName().
See Also:
JOINCOLUMN_REFERENCEDCOLUMNNAME

setJoinColumnUnique

public final void setJoinColumnUnique(boolean unique)
Parameters:
unique - The value of JoinColumn.unique().
See Also:
JOINCOLUMN_UNIQUE

getJoinColumnUnique

public final Boolean getJoinColumnUnique()
Returns:
The value of JoinColumn.unique().
See Also:
JOINCOLUMN_UNIQUE

setJoinColumnNullable

public final void setJoinColumnNullable(boolean nullable)
Parameters:
nullable - The value of JoinColumn.nullable().
See Also:
JOINCOLUMN_NULLABLE

getJoinColumnNullable

public final Boolean getJoinColumnNullable()
Returns:
The value of JoinColumn.nullable().
See Also:
JOINCOLUMN_NULLABLE

setJoinColumnInsertable

public final void setJoinColumnInsertable(boolean insertable)
Parameters:
insertable - The value of JoinColumn.insertable() .
See Also:
JOINCOLUMN_INSERTABLE

getJoinColumnInsertable

public final Boolean getJoinColumnInsertable()
Returns:
The value of JoinColumn.insertable().
See Also:
JOINCOLUMN_INSERTABLE

setJoinColumnUpdatable

public final void setJoinColumnUpdatable(boolean updatable)
Parameters:
updatable - The value of JoinColumn.updatable().
See Also:
JOINCOLUMN_UPDATABLE

getJoinColumnUpdatable

public final Boolean getJoinColumnUpdatable()
Returns:
The value of JoinColumn.updatable().
See Also:
JOINCOLUMN_UPDATABLE

setJoinColumnColumnDefinition

public final void setJoinColumnColumnDefinition(String columnDefinition)
Parameters:
columnDefinition - The value of JoinColumn.columnDefinition().
See Also:
JOINCOLUMN_COLUMNDEFINITION

getJoinColumnColumnDefinition

public final String getJoinColumnColumnDefinition()
Returns:
The value of JoinColumn.columnDefinition().
See Also:
JOINCOLUMN_COLUMNDEFINITION

setJoinColumnTable

public final void setJoinColumnTable(String table)
Parameters:
table - The value of JoinColumn.table().
See Also:
JOINCOLUMN_TABLE

getJoinColumnTable

public final String getJoinColumnTable()
Returns:
The value of JoinColumn.table().
See Also:
JOINCOLUMN_TABLE

setOneToOne

public void setOneToOne(boolean hasOneToOne)
Parameters:
hasOneToOne - if OneToOne was found on that property.
See Also:
ONETOONE

isOneToOne

public boolean isOneToOne()
Returns:
if OneToOne was set on the property, else false.
See Also:
ONETOONE

setManyToOne

public void setManyToOne(boolean hasManyToOne)
Parameters:
hasManyToOne - if ManyToOne was found on that property.
See Also:
MANYTOONE

isManyToOne

public boolean isManyToOne()
Returns:
if ManyToOne was set on the property, else false.
See Also:
MANYTOONE

setOneToMany

public void setOneToMany(boolean hasOneToMany)
Parameters:
hasOneToMany - if OneToMany was found on that property.
See Also:
ONETOMANY

isOneToMany

public boolean isOneToMany()
Returns:
if OneToMany was set on the property, else false.
See Also:
ONETOMANY

setManyToMany

public void setManyToMany(boolean hasManyToMany)
Parameters:
hasManyToMany - if ManyToMany was found on that property.
See Also:
MANYTOMANY

isManyToMany

public boolean isManyToMany()
Returns:
if ManyToOne was set on the property, else false.
See Also:
MANYTOMANY

setManyToManyInverseCopy

public void setManyToManyInverseCopy(boolean copySettingsInverse)
Parameters:
copySettingsInverse - set this to true if a ManyToMany related field shall copy all JoinTable relevant information from the other side of the relation (inverting the JoinColumn settings).
See Also:
MANYTOMANY_INVERSECOPY

isManyToManyInverseCopy

public boolean isManyToManyInverseCopy()
Returns:
if this is true a ManyToMany related field shall copy all JoinTable relevant information from the other side of the relation (inverting the JoinColumn settings).
See Also:
MANYTOMANY_INVERSECOPY

setRelationTargetEntity

public void setRelationTargetEntity(Class<?> targetEntity)
Parameters:
targetEntity - The value of OneToOne.targetEntity() , OneToMany.targetEntity(), ManyToOne.targetEntity(), ManyToMany.targetEntity(), depending to the relation type.
See Also:
RELATION_TARGETENTITY

getRelationTargetEntity

public Class<?> getRelationTargetEntity()
Returns:
The value of OneToOne.targetEntity(), OneToMany.targetEntity(), ManyToOne.targetEntity(), ManyToMany.targetEntity(), depending on the relation type. Returns null iff no relational annotation was set on the field.
See Also:
RELATION_TARGETENTITY

setRelationLazyFetch

public void setRelationLazyFetch(boolean lazyFetch)
Parameters:
lazyFetch - true if OneToOne.fetch() , OneToMany.fetch(), ManyToOne.fetch(), ManyToMany.fetch() is set to FetchType.LAZY, depending on the relation type.
See Also:
RELATION_LAZYFETCH

isRelationLazyFetch

public boolean isRelationLazyFetch()
Returns:
true if OneToOne.fetch() , OneToMany.fetch(), ManyToOne.fetch(), ManyToMany.fetch() is set to FetchType.LAZY, depending on the relation type.
See Also:
RELATION_LAZYFETCH

setRelationMappedBy

public void setRelationMappedBy(String mappedBy)
Parameters:
mappedBy - The content of OneToMany.mappedBy(), ManyToMany.mappedBy(), depending on the relation type.
See Also:
RELATION_MAPPEDBY

getRelationMappedBy

public String getRelationMappedBy()
Returns:
The content of OneToMany.mappedBy(), ManyToMany.mappedBy(), depending on the relation type. If no (or an empty) String was set, null is returned!
See Also:
RELATION_MAPPEDBY

getRelationCollectionType

public Class<?> getRelationCollectionType()
Returns:
The type of Collection being used by OneToMany, ManyToMany, depending on the relation type. Returns null iff none of the above relational annotations was set on the field.
See Also:
RELATION_COLLECTIONTYPE

setRelationCollectionType

public void setRelationCollectionType(Class<?> collectionType)
Parameters:
collectionType - Set the type of Collection being used by OneToMany, ManyToMany, depending on the relation type.
See Also:
RELATION_COLLECTIONTYPE

setRelationOptional

public void setRelationOptional(boolean optional)
Parameters:
optional - Set the value of OneToOne.optional() , ManyToOne.optional(), depending on the relation type.
See Also:
RELATION_OPTIONAL

isRelationOptional

public boolean isRelationOptional()
Returns:
true if OneToOne.optional(), ManyToOne.optional() was set to true, depending on the relation type.
See Also:
RELATION_OPTIONAL

setGeneratedValueStrategy

public void setGeneratedValueStrategy(javax.persistence.GenerationType strategy)
Set the GeneratedValue.strategy()

Parameters:
strategy -
See Also:
GENERATEDVALUE_STRATEGY

getGeneratedValueStrategy

public javax.persistence.GenerationType getGeneratedValueStrategy()
Get the GeneratedValue.strategy()

Returns:
strategy
See Also:
GENERATEDVALUE_STRATEGY

setGeneratedValueGenerator

public void setGeneratedValueGenerator(String generator)
Set the GeneratedValue.generator()

Parameters:
strategy -
See Also:
GENERATEDVALUE_STRATEGY

getGeneratedValueGenerator

public String getGeneratedValueGenerator()
Get the GeneratedValue.generator()

Returns:
strategy
See Also:
GENERATEDVALUE_STRATEGY

getTemporalType

public javax.persistence.TemporalType getTemporalType()
Returns:
The TemporalType of field.
See Also:
TEMPORAL_TYPE

setTemporalType

public void setTemporalType(javax.persistence.TemporalType temporalType)
Parameters:
temporalType - set the TemporalType of field.
See Also:
TEMPORAL_TYPE

isLob

public boolean isLob()
Returns:
true if Lob was set on the property, else false
See Also:
LOB

setLob

public void setLob(boolean isLob)
Parameters:
isLob - if Lob was found on that property.
See Also:
LOB

isStringEnumType

public boolean isStringEnumType()
Returns:
true if Enumerated with value EnumType STRING was set on the property, else false
See Also:
STRING_ENUM_TYPE

setStringEnumType

public void setStringEnumType(boolean isStringEnumType)
Parameters:
isStringEnumType - if Enumerated with value EnumType STRING was found on that property.
See Also:
STRING_ENUM_TYPE

getCascadeTypes

public javax.persistence.CascadeType[] getCascadeTypes()
Returns:
The CascadeType array of relation.
See Also:
CASCADE_TYPES

setCascadeTypes

public void setCascadeTypes(javax.persistence.CascadeType[] cascadeTypes)
Parameters:
cascadeTypes - set the CascadeType array of relation.
See Also:
CASCADE_TYPES


Copyright © 2011. All Rights Reserved.