Class GregorianCalendarMapping


  • public class GregorianCalendarMapping
    extends SingleFieldMultiMapping
    Maps the class fields of a GregorianCalendar to column(s). We default to a single column (timestamp), but allow the option of persisting to 2 columns (timestamp millisecs and timezone). JPOX traditionally supported persistence to 2 columns. TODO Remove this and use converters for the different options : (Long, String), (Timestamp).
    • Constructor Detail

      • GregorianCalendarMapping

        public GregorianCalendarMapping()
    • Method Detail

      • initialize

        public void initialize​(org.datanucleus.metadata.AbstractMemberMetaData fmd,
                               Table table,
                               org.datanucleus.ClassLoaderResolver clr)
        Description copied from class: JavaTypeMapping
        Initialize this JavaTypeMapping for the supplied table and field/property metadata. Subclasses should override this method to perform any datastore initialization operations. Assumes the "roleForMember" is already set
        Overrides:
        initialize in class JavaTypeMapping
        Parameters:
        fmd - MetaData for the field/property to be mapped (if any)
        table - The table storing this mapping (if any)
        clr - the ClassLoaderResolver
      • initialize

        public void initialize​(RDBMSStoreManager storeMgr,
                               String type)
        Description copied from class: JavaTypeMapping
        Initialise this JavaTypeMapping with the given StoreManager for the given type. Used when the mapping is for a parameter in a query. This will not set the "mmd" and "datastoreContainer" parameters. If these are required for usage of the mapping then you should call setFieldInformation(AbstractMemberMetaData, DatastoreContainerObject) below. Subclasses should override this method to perform any datastore initialization operations.
        Overrides:
        initialize in class JavaTypeMapping
        Parameters:
        storeMgr - The Datastore Adapter that this Mapping should use.
        type - The Class that this mapping maps to the database.
      • addColumns

        protected void addColumns()
      • getJavaType

        public Class getJavaType()
        Description copied from class: JavaTypeMapping
        Accessor for the java type being mapped. This is the java type that the mapping represents. Some examples :
        • if the field is of type "MyClass" then the mapping will be OIDMapping (or subclass) the javaType will be OID, and the type will be MyClass.
        • if the field is of type "int" then the mapping will be IntegerMapping, the javaType will be Integer, and the type will be int.
        The "java type" is the java-type name used in the plugin.xml mapping file
        Specified by:
        getJavaType in class JavaTypeMapping
        Returns:
        The java type
      • getJavaTypeForColumnMapping

        public String getJavaTypeForColumnMapping​(int index)
        Accessor for the name of the java-type actually used when mapping the particular column. This java-type must have an entry in the datastore mappings.
        Overrides:
        getJavaTypeForColumnMapping in class SingleFieldMultiMapping
        Parameters:
        index - requested column index.
        Returns:
        the name of java-type for the requested column.
      • getValueForColumnMapping

        public Object getValueForColumnMapping​(org.datanucleus.NucleusContext nucleusCtx,
                                               int index,
                                               Object value)
        Method to return the value to be stored in the specified datastore index given the overall value for this java type.
        Overrides:
        getValueForColumnMapping in class JavaTypeMapping
        Parameters:
        index - The datastore index
        value - The overall value for this java type
        nucleusCtx - Context
        Returns:
        The value for this datastore index
      • setObject

        public void setObject​(org.datanucleus.ExecutionContext ec,
                              PreparedStatement ps,
                              int[] exprIndex,
                              Object value)
        Description copied from class: JavaTypeMapping
        Sets a value into datastoreStatement at position specified by exprIndex.
        Overrides:
        setObject in class JavaTypeMapping
        Parameters:
        ec - ExecutionContext
        ps - PreparedStatement
        exprIndex - the position of the value in the statement
        value - the value
      • getObject

        public Object getObject​(org.datanucleus.ExecutionContext ec,
                                ResultSet resultSet,
                                int[] exprIndex)
        Description copied from class: JavaTypeMapping
        Obtains a value from datastoreResults at position specified by exprIndex.
        Overrides:
        getObject in class JavaTypeMapping
        Parameters:
        ec - ExecutionContext
        resultSet - ResultSet
        exprIndex - the position of the value in the result
        Returns:
        the value