org.codehaus.groovy.grails.commons
Interface GrailsDomainClassProperty

All Known Implementing Classes:
DefaultGrailsDomainClassProperty, GrailsHibernateDomainClassProperty

public interface GrailsDomainClassProperty

A property of a GrailsDomainClass instance.

Author:
Graeme Rocher

Field Summary
static String BELONGS_TO
           
static String CLASS
           
static String CONSTRAINTS
           
static String DATE_CREATED
           
static String EMBEDDED
           
static String EVANESCENT
           
static int FETCH_EAGER
           
static int FETCH_LAZY
           
static String FETCH_MODE
           
static String HAS_MANY
           
static String HAS_ONE
           
static String IDENTITY
           
static String LAST_UPDATED
           
static String MAPPED_BY
           
static String MAPPING
           
static String MAPPING_STRATEGY
           
static String META_CLASS
           
static String NAMED_QUERIES
           
static String RELATES_TO_MANY
           
static String SORT
           
static String TRANSIENT
           
static String VERSION
           
 
Method Summary
 GrailsDomainClass getComponent()
          If #isEmbedded returns true then this method can be called to obtain a reference to the embedded component, which implements the GrailsDomainClass interface.
 GrailsDomainClass getDomainClass()
          Returns the parent domain class of the property instance.
 int getFetchMode()
          Returns the configured fetch mode for the property
 String getFieldName()
          Returns the domain field name for this property.
 String getName()
          Returns the name of the property.
 String getNaturalName()
           
 GrailsDomainClassProperty getOtherSide()
          Returns the other side of a bidirectional association
 GrailsDomainClass getReferencedDomainClass()
          Returns the GrailsDomainClass of a relationship property or null, if the property is not a relationship property.
 String getReferencedPropertyName()
          Retrieves the name of property referenced by this property if it is an association and is known, otherwise null.
 Class getReferencedPropertyType()
          Returns the referenced property type.
 Class getType()
          Returns the type for the domain class
 String getTypePropertyName()
          Returns the class type as a property name representation.
 boolean isAssociation()
          Returns true if this property is a relationship property.
 boolean isBasicCollectionType()
          Return whether this is a collection of basic types like String, Integer etc.
 boolean isBidirectional()
          Returns true if the property is a bi-directional relationship.
 boolean isCircular()
          Whether the relationship is cirucular.
 boolean isEmbedded()
          Returns true if this propert is an embedded component.
 boolean isEnum()
          Returns true if this properties type is an enum.
 boolean isHasOne()
           
 boolean isIdentity()
          Returns true of the property is an identifier.
 boolean isInherited()
          Whether the property is inherited from a super class.
 boolean isManyToMany()
          Returns true if the property is a many-to-many relationship.
 boolean isManyToOne()
          Returns true if the property is a many-to-one relationship.
 boolean isOneToMany()
          Returns true if the property is a one-to-many relationship.
 boolean isOneToOne()
          Returns true if the property is a one-to-one relationship.
 boolean isOptional()
          Returns true if the property is required.
 boolean isOwningSide()
          Whether this side of the association is the "owning" side.
 boolean isPersistent()
          Returns true if the domain class property is a persistent property.
 void setOtherSide(GrailsDomainClassProperty referencedProperty)
          Sets the other side of an associative property.
 void setOwningSide(boolean b)
           
 void setReferencedDomainClass(GrailsDomainClass referencedGrailsDomainClass)
          Sets the references domain class on the property.
 

Field Detail

IDENTITY

static final String IDENTITY
See Also:
Constant Field Values

VERSION

static final String VERSION
See Also:
Constant Field Values

TRANSIENT

static final String TRANSIENT
See Also:
Constant Field Values

CONSTRAINTS

static final String CONSTRAINTS
See Also:
Constant Field Values

EVANESCENT

static final String EVANESCENT
See Also:
Constant Field Values

RELATES_TO_MANY

static final String RELATES_TO_MANY
See Also:
Constant Field Values

META_CLASS

static final String META_CLASS
See Also:
Constant Field Values

CLASS

static final String CLASS
See Also:
Constant Field Values

MAPPING_STRATEGY

static final String MAPPING_STRATEGY
See Also:
Constant Field Values

MAPPED_BY

static final String MAPPED_BY
See Also:
Constant Field Values

BELONGS_TO

static final String BELONGS_TO
See Also:
Constant Field Values

HAS_MANY

static final String HAS_MANY
See Also:
Constant Field Values

HAS_ONE

static final String HAS_ONE
See Also:
Constant Field Values

FETCH_MODE

static final String FETCH_MODE
See Also:
Constant Field Values

DATE_CREATED

static final String DATE_CREATED
See Also:
Constant Field Values

MAPPING

static final String MAPPING
See Also:
Constant Field Values

NAMED_QUERIES

static final String NAMED_QUERIES
See Also:
Constant Field Values

LAST_UPDATED

static final String LAST_UPDATED
See Also:
Constant Field Values

SORT

static final String SORT
See Also:
Constant Field Values

EMBEDDED

static final String EMBEDDED
See Also:
Constant Field Values

FETCH_EAGER

static final int FETCH_EAGER
See Also:
Constant Field Values

FETCH_LAZY

static final int FETCH_LAZY
See Also:
Constant Field Values
Method Detail

getFetchMode

int getFetchMode()
Returns the configured fetch mode for the property


getName

String getName()
Returns the name of the property.

Returns:
The property name

getType

Class getType()
Returns the type for the domain class

Returns:
The property type

getReferencedPropertyType

Class getReferencedPropertyType()
Returns the referenced property type. This differs from getType() in that in the case of an Association it will return the type of the elements contained within the Collection, otherwise it will delegate to getType();

Returns:
The referenced type

getOtherSide

GrailsDomainClassProperty getOtherSide()
Returns the other side of a bidirectional association

Returns:
The other side of the relationship or null if not known

getTypePropertyName

String getTypePropertyName()
Returns the class type as a property name representation.

Returns:
The property name representation

getDomainClass

GrailsDomainClass getDomainClass()
Returns the parent domain class of the property instance.

Returns:
The parent domain class

isPersistent

boolean isPersistent()
Returns true if the domain class property is a persistent property.

Returns:
Whether the property is persistent

isOptional

boolean isOptional()
Returns true if the property is required.

Returns:
Whether the property is optional

isIdentity

boolean isIdentity()
Returns true of the property is an identifier.

Returns:
Whether the property is the identifier

isOneToMany

boolean isOneToMany()
Returns true if the property is a one-to-many relationship.

Returns:
Whether it is a oneToMany

isManyToOne

boolean isManyToOne()
Returns true if the property is a many-to-one relationship.

Returns:
Whether it is a manyToOne

isManyToMany

boolean isManyToMany()
Returns true if the property is a many-to-many relationship.

Returns:
True if it is a manyToMany

isBidirectional

boolean isBidirectional()
Returns true if the property is a bi-directional relationship.

Returns:
A boolean value

getFieldName

String getFieldName()
Returns the domain field name for this property.


isOneToOne

boolean isOneToOne()
Returns true if the property is a one-to-one relationship.

Returns:
True if it is a one-to-one relationship

getReferencedDomainClass

GrailsDomainClass getReferencedDomainClass()
Returns the GrailsDomainClass of a relationship property or null, if the property is not a relationship property.

Returns:
The GrailsDomainClass

isAssociation

boolean isAssociation()
Returns true if this property is a relationship property.

Returns:
True if it is an associative property

isEnum

boolean isEnum()
Returns true if this properties type is an enum.

Returns:
True if it is

getNaturalName

String getNaturalName()
Returns:
The natural name representation of the property (eg. 'lastName' becomes 'Last Name'

setReferencedDomainClass

void setReferencedDomainClass(GrailsDomainClass referencedGrailsDomainClass)
Sets the references domain class on the property.

Parameters:
referencedGrailsDomainClass -

setOtherSide

void setOtherSide(GrailsDomainClassProperty referencedProperty)
Sets the other side of an associative property.

Parameters:
referencedProperty -

isInherited

boolean isInherited()
Whether the property is inherited from a super class.

Returns:
True if its inherited

isOwningSide

boolean isOwningSide()
Whether this side of the association is the "owning" side.

Returns:
True if it is the owning side

isCircular

boolean isCircular()
Whether the relationship is cirucular.

Returns:
True if it is

getReferencedPropertyName

String getReferencedPropertyName()
Retrieves the name of property referenced by this property if it is an association and is known, otherwise null.

Returns:
The name of the prop

isEmbedded

boolean isEmbedded()
Returns true if this propert is an embedded component.

Returns:
True if it is, false otherwise

getComponent

GrailsDomainClass getComponent()
If #isEmbedded returns true then this method can be called to obtain a reference to the embedded component, which implements the GrailsDomainClass interface.

Returns:
The component or null if it is not an embedded component
See Also:
GrailsDomainClass, isEmbedded()

setOwningSide

void setOwningSide(boolean b)

isBasicCollectionType

boolean isBasicCollectionType()
Return whether this is a collection of basic types like String, Integer etc.

Returns:
True if it is a collection of basic types

isHasOne

boolean isHasOne()