## org.hibernate.type
Class MetaType

    java.lang.Object
      org.hibernate.type.AbstractType
          org.hibernate.type.MetaType

All Implemented Interfaces:
  Serializable, Type

    public class MetaType

extends AbstractType

Author:
  Gavin King
See Also:
  Serialized Form

Field Summary
`static String[]` `REGISTRATION_KEYS`

Constructor Summary
`MetaType(Map values, Type baseType)`

Method Summary
`Object` `deepCopy(Object value, EntityMode entityMode, SessionFactoryImplementor factory)` Return a deep copy of the persistent state, stopping at entities and at collections.
`Object` `fromXMLNode(org.dom4j.Node xml, Mapping factory)` Parse the XML representation of an instance.
`Object` `fromXMLString(String xml, Mapping factory)`
`int` `getColumnSpan(Mapping mapping)` How many columns are used to persist this type.
`String` `getName()` Returns the abbreviated name of the type.
`String[]` `getRegistrationKeys()`
`Class` `getReturnedClass()` The class returned by `Type.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.SessionImplementor, java.lang.Object)` methods.
`boolean` `isDirty(Object old, Object current, boolean[] checkable, SessionImplementor session)` Should the parent be considered dirty, given both the old and current value?
`boolean` `isMutable()` Are objects of this type mutable.
`Object` `nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner)` Retrieve an instance of the mapped class from a JDBC resultset.
`Object` `nullSafeGet(ResultSet rs, String name, SessionImplementor session, Object owner)` Retrieve an instance of the mapped class from a JDBC resultset.
`void` `nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SessionImplementor session)` Write an instance of the mapped class to a prepared statement, ignoring some columns.
`void` `nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session)` Write an instance of the mapped class to a prepared statement.
`Object` `replace(Object original, Object target, SessionImplementor session, Object owner, Map copyCache)` During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging.
`void` `setToXMLNode(org.dom4j.Node node, Object value, SessionFactoryImplementor factory)` A representation of the value to be embedded in an XML element.
`int[]` `sqlTypes(Mapping mapping)` Return the JDBC types codes (per `Types`) for the columns mapped by this type.
`boolean[]` `toColumnNullness(Object value, Mapping mapping)` Given an instance of the type, return an array of boolean, indicating which mapped columns would be null.
`String` `toLoggableString(Object value, SessionFactoryImplementor factory)` A representation of the value to be embedded in a log file.
`String` `toXMLString(Object value, SessionFactoryImplementor factory)`

Methods inherited from class org.hibernate.type.AbstractType
`assemble, beforeAssemble, compare, disassemble, getHashCode, getHashCode, getSemiResolvedType, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isEntityType, isEqual, isEqual, isModified, isSame, isXMLElement, replace, replaceNode, resolve, semiResolve`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### REGISTRATION_KEYS

    public static final String[] REGISTRATION_KEYS

Constructor Detail

### MetaType

    public MetaType(Map values,
                    Type baseType)

Method Detail

### getRegistrationKeys

    public String[] getRegistrationKeys()

### sqlTypes

    public int[] sqlTypes(Mapping mapping)
                   throws MappingException

  Description copied from interface: `Type`
  Return the JDBC types codes (per `Types`) for the columns mapped by this type.

  Parameters:
    `mapping` - The mapping object :/
  Returns:
    The JDBC type codes.
  Throws:
    `MappingException` - Generally indicates an issue accessing the passed mapping object.

### getColumnSpan

    public int getColumnSpan(Mapping mapping)
                      throws MappingException

  Description copied from interface: `Type`
  How many columns are used to persist this type. Always the same as `sqlTypes(mapping).length`

  Parameters:
    `mapping` - The mapping object :/
  Returns:
    The number of columns
  Throws:
    `MappingException` - Generally indicates an issue accessing the passed mapping object.

### getReturnedClass

    public Class getReturnedClass()

  Description copied from interface: `Type`
  The class returned by `Type.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.SessionImplementor, java.lang.Object)` methods. This is used to establish the class of an array of this type.

  Returns:
    The java type class handled by this type.

### nullSafeGet

    public Object nullSafeGet(ResultSet rs,
                              String[] names,
                              SessionImplementor session,
                              Object owner)
                       throws HibernateException,
                              SQLException

  Description copied from interface: `Type`
  Retrieve an instance of the mapped class from a JDBC resultset. Implementors should handle possibility of null values.

    `names` - the column names
    `owner` - the parent entity
  Returns:
    Object
  Throws:
    `HibernateException`
    `SQLException`
  See Also:
    `alternative, 2-phase property initialization`

### nullSafeGet

    public Object nullSafeGet(ResultSet rs,
                              String name,
                              SessionImplementor session,
                              Object owner)
                       throws HibernateException,
                              SQLException

  Description copied from interface: `Type`
  Retrieve an instance of the mapped class from a JDBC resultset. Implementations should handle possibility of null values. This method might be called if the type is known to be a single-column type.

    `name` - the column name
    `owner` - the parent entity
  Returns:
    Object
  Throws:
    `HibernateException`
    `SQLException`

### nullSafeSet

    public void nullSafeSet(PreparedStatement st,
                            Object value,
                            int index,
                            SessionImplementor session)
                     throws HibernateException,
                            SQLException

  Description copied from interface: `Type`
  Write an instance of the mapped class to a prepared statement. Implementors should handle possibility of null values. A multi-column type should be written to parameters starting from `index`.

    `value` - the object to write
    `index` - statement parameter index
  Throws:
    `HibernateException`
    `SQLException`

### nullSafeSet

    public void nullSafeSet(PreparedStatement st,
                            Object value,
                            int index,
                            boolean[] settable,
                            SessionImplementor session)
                     throws HibernateException,
                            SQLException

  Description copied from interface: `Type`
  Write an instance of the mapped class to a prepared statement, ignoring some columns. Implementors should handle possibility of null values. A multi-column type should be written to parameters starting from `index`.

    `value` - the object to write
    `index` - statement parameter index
    `settable` - an array indicating which columns to ignore
  Throws:
    `HibernateException`
    `SQLException`

### toLoggableString

    public String toLoggableString(Object value,
                                   SessionFactoryImplementor factory)
                            throws HibernateException

  Description copied from interface: `Type`
  A representation of the value to be embedded in a log file.

  Returns:
    String
  Throws:
    `HibernateException`

### toXMLString

    public String toXMLString(Object value,
                              SessionFactoryImplementor factory)
                       throws HibernateException

  Throws:
    `HibernateException`

### fromXMLString

    public Object fromXMLString(String xml,
                                Mapping factory)
                         throws HibernateException

  Throws:
    `HibernateException`

### getName

    public String getName()

  Description copied from interface: `Type`
  Returns the abbreviated name of the type.

  Returns:
    String the Hibernate type name

### deepCopy

    public Object deepCopy(Object value,
                           EntityMode entityMode,
                           SessionFactoryImplementor factory)
                    throws HibernateException

  Description copied from interface: `Type`
  Return a deep copy of the persistent state, stopping at entities and at collections.

  Parameters:
    `value` - generally a collection element or entity field
  Returns:
    Object a copy
  Throws:
    `HibernateException`

### replace

    public Object replace(Object original,
                          Object target,
                          SessionImplementor session,
                          Object owner,
                          Map copyCache)

  Description copied from interface: `Type`
  During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging. For immutable objects, or null values, it is safe to simply return the first parameter. For mutable objects, it is safe to return a copy of the first parameter. For objects with component values, it might make sense to recursively replace component values.

  Parameters:
    `original` - the value from the detached entity being merged
    `target` - the value in the managed entity
  Returns:
    the value to be merged

### isMutable

    public boolean isMutable()

  Description copied from interface: `Type`
  Are objects of this type mutable. (With respect to the referencing object ... entities and collections are considered immutable because they manage their own internal state.)

  Returns:
    boolean

### fromXMLNode

    public Object fromXMLNode(org.dom4j.Node xml,
                              Mapping factory)
                       throws HibernateException

  Description copied from interface: `Type`
  Parse the XML representation of an instance.

  Returns:
    an instance of the type
  Throws:
    `HibernateException`

### setToXMLNode

    public void setToXMLNode(org.dom4j.Node node,
                             Object value,
                             SessionFactoryImplementor factory)
                      throws HibernateException

  Description copied from interface: `Type`
  A representation of the value to be embedded in an XML element.

  Throws:
    `HibernateException`

### toColumnNullness

    public boolean[] toColumnNullness(Object value,
                                      Mapping mapping)

  Description copied from interface: `Type`
  Given an instance of the type, return an array of boolean, indicating which mapped columns would be null.

  Parameters:
    `value` - an instance of the type

### isDirty

    public boolean isDirty(Object old,
                           Object current,
                           boolean[] checkable,
                           SessionImplementor session)
                    throws HibernateException

  Description copied from interface: `Type`
  Should the parent be considered dirty, given both the old and current value?

  Parameters:
    `old` - the old value
    `current` - the current value
    `checkable` - An array of booleans indicating which columns making up the value are actually checkable
    `session` - The session from which the request originated.
  Returns:
    true if the field is dirty
  Throws:
    `HibernateException` - A problem occurred performing the checking

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.