GrailsDomainClass (Grails 3.1.7)
Date: 2016-05-19

Package: org.codehaus.groovy.grails.commons

## [Groovy] Interface GrailsDomainClass

- org.codehaus.groovy.grails.commons.GrailsClass

- All Superinterfaces:
    GrailsApplicationAware, GrailsClass, GrailsClass

  Represents a persistable Grails domain class.

  deprecated:
    Use GrailsDomainClass instead
  Authors:
    Graeme Rocher
  Since:
    1.0 Created: Jul 5, 2005

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `java.lang.String` | `GORM` The name of the default ORM implementation used to map the class
    `java.lang.String` | `ORM_MAPPING`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `java.util.Map` | `getAssociationMap()` Returns this classes association map
    `java.util.Map` | `getConstrainedProperties()` Returns a map of constraints applied to this domain class with the keys being the property name and the values being ConstrainedProperty instances
    `java.lang.String` | `getFieldName(java.lang.String propertyName)` Returns the field name for the given property name
    `GrailsDomainClassProperty` | `getIdentifier()` Returns the identifier property
    `java.util.Map` | `getMappedBy()` @return The map that defines association mappings
    `java.lang.String` | `getMappingStrategy()` @return The name of the ORM implementation used to map the domain class (default is "GORM")
    `GrailsDomainClassProperty[]` | `getPersistantProperties()` Returns all of the persistant properties of the domain class
    `GrailsDomainClassProperty[]` | `getPersistentProperties()` Returns all of the persistant properties of the domain class
    `GrailsDomainClassProperty` | `getPersistentProperty(java.lang.String name)` Returns the property for the given name or null if non exists
    `GrailsDomainClassProperty[]` | `getProperties()` Returns all of the properties of the domain class
    `GrailsDomainClassProperty` | `getPropertyByName(java.lang.String name)` Returns the property for the given name
    `java.lang.String` | `getPropertyName()`
    `java.lang.Class` | `getRelatedClassType(java.lang.String propertyName)` Returns the type of the related class of the given property
    `java.util.Set<GrailsDomainClass>` | `getSubClasses()` Returns the sub-classes for this class if any
    `org.springframework.validation.Validator` | `getValidator()` Retreives the validator for this domain class
    `GrailsDomainClassProperty` | `getVersion()` Returns the version property
    `boolean` | `hasPersistentProperty(java.lang.String propertyName)` Returns true if this domain class has a persistent property for the given name
    `boolean` | `hasSubClasses()` Returns true if the domain classes has sub classes
    `boolean` | `isBidirectional(java.lang.String propertyName)` Returns true if the given property is a bi-directional relationship
    `boolean` | `isManyToOne(java.lang.String propertyName)` Returns true if the given property is a many to one relationship
    `boolean` | `isOneToMany(java.lang.String propertyName)` Returns true if the given property is a one to many relationship
    `boolean` | `isOwningClass(java.lang.Class domainClass)` @param domainClass
    `boolean` | `isRoot()` Whether the class is the root of a heirarchy
    `void` | `refreshConstraints()` Refreshes the constraint defined on a domain class
    `void` | `setMappingStrategy(java.lang.String strategy)` Sets the strategy to use for ORM mapping.
    `void` | `setValidator(org.springframework.validation.Validator validator)` Sets the validator for this domain class

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface GrailsClass` | `getApplication, getClazz, getFullName, getGrailsApplication, getLogicalPropertyName, getMetaClass, getName, getNaturalName, getPackageName, getPluginName, getPropertyName, getPropertyValue, getPropertyValue, getReference, getReferenceInstance, getShortName, hasProperty, isAbstract, newInstance`
    `interface GrailsClass` | `getApplication, getClazz, getFullName, getGrailsApplication, getLogicalPropertyName, getMetaClass, getName, getNaturalName, getPackageName, getPluginName, getPropertyName, getPropertyValue, getPropertyValue, getReference, getReferenceInstance, getShortName, hasProperty, isAbstract, newInstance`

- - ### Property Detail

    - #### java.lang.String GORM

      The name of the default ORM implementation used to map the class

    - #### java.lang.String ORM_MAPPING

  - ### Method Detail

    - #### @java.lang.SuppressWarnings("rawtypes") java.util.Map getAssociationMap()

      Returns this classes association map

      Returns:
        The association map

    - #### @java.lang.SuppressWarnings("rawtypes") java.util.Map getConstrainedProperties()

      Returns a map of constraints applied to this domain class with the keys being the property name and the values being ConstrainedProperty instances

      Returns:
        A map of constraints

    - #### java.lang.String getFieldName(java.lang.String propertyName)

      Returns the field name for the given property name

      Parameters:
        propertyName
      Returns:
        The field representation of the property name

    - #### GrailsDomainClassProperty getIdentifier()

      Returns the identifier property

      Returns:
        The identifier property

    - #### @java.lang.SuppressWarnings("rawtypes") java.util.Map getMappedBy()

      Returns:
        The map that defines association mappings

    - #### java.lang.String getMappingStrategy()

      Returns:
        The name of the ORM implementation used to map the domain class (default is "GORM")

    - #### @java.lang.Deprecated GrailsDomainClassProperty[] getPersistantProperties()

      Returns all of the persistant properties of the domain class

      deprecated:
        Use #getPersistentProperties instead
      Returns:
        The domain class' persistant properties

    - #### GrailsDomainClassProperty[] getPersistentProperties()

      Returns all of the persistant properties of the domain class

      Returns:
        The domain class' persistant properties

    - #### GrailsDomainClassProperty getPersistentProperty(java.lang.String name)

      Returns the property for the given name or null if non exists

      Parameters:
        `name` - The property name
      Returns:
        The property or null

    - #### GrailsDomainClassProperty[] getProperties()

      Returns all of the properties of the domain class

      Returns:
        The domain class properties

    - #### GrailsDomainClassProperty getPropertyByName(java.lang.String name)

      Returns the property for the given name

      throws:
        org.grails.core.exceptions.InvalidPropertyException
      Parameters:
        `name` - The property for the name
      Returns:
        The domain class property for the given name

    - #### java.lang.String getPropertyName()

      Returns the default property name of the GrailsClass. For example the property name for a class called "User" would be "user"

      Returns:
        The property name representation of the class name

    - #### @java.lang.SuppressWarnings("rawtypes") java.lang.Class getRelatedClassType(java.lang.String propertyName)

      Returns the type of the related class of the given property

      Parameters:
        `propertyName` - The name of the property
      Returns:
        The type of the class or null if no relationship exists for the specified property

    - #### java.util.Set<GrailsDomainClass> getSubClasses()

      Returns the sub-classes for this class if any

      Returns:
        A set of sub classes or an empty set if none exist

    - #### org.springframework.validation.Validator getValidator()

      Retreives the validator for this domain class

      Returns:
        A validator instance or null if none exists

    - #### GrailsDomainClassProperty getVersion()

      Returns the version property

      Returns:
        The version property

    - #### boolean hasPersistentProperty(java.lang.String propertyName)

      Returns true if this domain class has a persistent property for the given name

      Parameters:
        `propertyName` - The property name
      Returns:
        true if it does

    - #### boolean hasSubClasses()

      Returns true if the domain classes has sub classes

      Returns:
        true if it does

    - #### boolean isBidirectional(java.lang.String propertyName)

      Returns true if the given property is a bi-directional relationship

      Parameters:
        `propertyName` - The name of the property
      Returns:
        A boolean value

    - #### boolean isManyToOne(java.lang.String propertyName)

      Returns true if the given property is a many to one relationship

      Parameters:
        `propertyName` - The name of the property
      Returns:
        A boolean value

    - #### boolean isOneToMany(java.lang.String propertyName)

      Returns true if the given property is a one to many relationship

      Parameters:
        `propertyName` - The name of the property
      Returns:
        A boolean value

    - #### @java.lang.SuppressWarnings("rawtypes") boolean isOwningClass(java.lang.Class domainClass)

      Parameters:
        domainClass
      Returns:
        true if the specifying domain class is on the owning side of a relationship

    - #### boolean isRoot()

      Whether the class is the root of a heirarchy

      Returns:
        true if it is the root of the heirarchy

    - #### void refreshConstraints()

      Refreshes the constraint defined on a domain class

    - #### void setMappingStrategy(java.lang.String strategy)

      Sets the strategy to use for ORM mapping. Default is GORM

      Parameters:
        `strategy` - The mapping strategy

    - #### void setValidator(org.springframework.validation.Validator validator)

      Sets the validator for this domain class

      Parameters:
        `validator` - The domain class validator to set