Class JDBCTypeInfo

java.lang.Object
org.datanucleus.store.rdbms.schema.JDBCTypeInfo
All Implemented Interfaces:
org.datanucleus.store.schema.MapStoreSchemaData, org.datanucleus.store.schema.StoreSchemaData

public class JDBCTypeInfo extends Object implements org.datanucleus.store.schema.MapStoreSchemaData
Representation of JDBC type information in the datastore. Each JDBC type info has a map of SQL type info for this JDBC type. Has the property "jdbc_type" as a Short of the java.sql.Types value.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Hashcode.
    (package private) Map<String,Object>
    Properties of the JDBC type.
    (package private) Map<String,org.datanucleus.store.schema.StoreSchemaData>
    SQL types for this JDBC type, keyed by (SQL) type name.
  • Constructor Summary

    Constructors
    Constructor
    Description
    JDBCTypeInfo(short type)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addChild(org.datanucleus.store.schema.StoreSchemaData child)
    Add a SQL type for this JDBC type.
    void
    addProperty(String name, Object value)
    Method to add a property for the type.
    void
    Method to remove all children.
    final boolean
    Indicates whether some object is "equal to" this one.
    org.datanucleus.store.schema.StoreSchemaData
    Accessor for the SQL type with this type name (if supported for this JDBC type).
    Accessor for the SQL types map for this JDBC type, keyed by the type name.
    int
     
    org.datanucleus.store.schema.StoreSchemaData
    Accessor for the parent component.
    Accessor for a property.
    final int
    Returns a hash code value for this object.
    void
    setDefaultChild(String sqlTypeName)
    Set the default child to be used.
    void
    setParent(org.datanucleus.store.schema.StoreSchemaData parent)
    Mutator for the parent component.
    Returns the string representation of this object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • hash

      private int hash
      Hashcode. Set on first use.
    • properties

      Map<String,Object> properties
      Properties of the JDBC type.
    • sqlTypes

      Map<String,org.datanucleus.store.schema.StoreSchemaData> sqlTypes
      SQL types for this JDBC type, keyed by (SQL) type name.
  • Constructor Details

    • JDBCTypeInfo

      public JDBCTypeInfo(short type)
  • Method Details

    • setParent

      public void setParent(org.datanucleus.store.schema.StoreSchemaData parent)
      Mutator for the parent component.
      Specified by:
      setParent in interface org.datanucleus.store.schema.MapStoreSchemaData
      Parameters:
      parent - Parent component
    • getParent

      public org.datanucleus.store.schema.StoreSchemaData getParent()
      Accessor for the parent component.
      Specified by:
      getParent in interface org.datanucleus.store.schema.MapStoreSchemaData
      Returns:
      null
    • addProperty

      public void addProperty(String name, Object value)
      Method to add a property for the type.
      Specified by:
      addProperty in interface org.datanucleus.store.schema.StoreSchemaData
      Parameters:
      name - Name of property
      value - Its value
    • getProperty

      public Object getProperty(String name)
      Accessor for a property.
      Specified by:
      getProperty in interface org.datanucleus.store.schema.StoreSchemaData
      Parameters:
      name - Name of the property
      Returns:
      Its value, or null if not defined
    • addChild

      public void addChild(org.datanucleus.store.schema.StoreSchemaData child)
      Add a SQL type for this JDBC type.
      Specified by:
      addChild in interface org.datanucleus.store.schema.MapStoreSchemaData
      Parameters:
      child - The SQL type
    • setDefaultChild

      public void setDefaultChild(String sqlTypeName)
      Set the default child to be used. If this child is not a current value then it will be ignored.
      Parameters:
      sqlTypeName - SQL Type to use as the default for this JDBC type
    • clearChildren

      public void clearChildren()
      Method to remove all children.
      Specified by:
      clearChildren in interface org.datanucleus.store.schema.MapStoreSchemaData
    • getChild

      public org.datanucleus.store.schema.StoreSchemaData getChild(String key)
      Accessor for the SQL type with this type name (if supported for this JDBC type).
      Specified by:
      getChild in interface org.datanucleus.store.schema.MapStoreSchemaData
      Parameters:
      key - type name
      Returns:
      the SQL type
    • getChildren

      public Map getChildren()
      Accessor for the SQL types map for this JDBC type, keyed by the type name.
      Specified by:
      getChildren in interface org.datanucleus.store.schema.MapStoreSchemaData
      Returns:
      Map of SQL types
    • getNumberOfChildren

      public int getNumberOfChildren()
      Specified by:
      getNumberOfChildren in interface org.datanucleus.store.schema.MapStoreSchemaData
    • equals

      public final boolean equals(Object obj)
      Indicates whether some object is "equal to" this one. Two JDBCTypeInfo are considered equal if their jdbc type is the same.
      Overrides:
      equals in class Object
      Parameters:
      obj - the reference object with which to compare
      Returns:
      true if this object is equal to the obj argument; false otherwise.
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • toString

      public String toString()
      Returns the string representation of this object.
      Overrides:
      toString in class Object
      Returns:
      string representation of this object.