# Package org.apache.cayenne.access.types

Defines an extendable mechanism to map Java types to JDBC types.

- Interface Summary
  Interface | Description
  --- | ---
  ExtendedType<T> | Defines methods to read Java objects from JDBC ResultSets and write as parameters of PreparedStatements.
  ExtendedTypeFactory | ExtendedType factory interface.
  ValueObjectType<V,​T> | Descriptor and serialization helper for custom value objects that can be safely stored in the DB.
  ValueObjectTypeRegistry | Registry of user-defined descriptors of custom value objects' classes.

- Class Summary
  Class | Description
  --- | ---
  BigDecimalType |
  BigDecimalValueType |
  BigIntegerValueType |
  BooleanType | Handles `java.lang.Boolean` mapping.
  ByteArrayType | Handles `byte[]`, mapping it as either of JDBC types - BLOB or (VAR)BINARY.
  ByteType | Handles `java.lang.Byte` type mapping.
  CalendarType<T extends Calendar> | ExtendedType that handles `Calendar` fields.
  CharacterValueType | This is char and Character type mapped to zero or one char String.
  CharType | Handles `java.lang.String`, mapping it as either of JDBC types - CLOB or (VAR)CHAR.
  DateType |
  DefaultValueObjectTypeRegistry | Default implementation of `ValueObjectTypeRegistry`
  DoubleType |
  DurationType |
  EnumType<T extends Enum<T>> | An ExtendedType that handles an enum class.
  EnumTypeFactory | ExtendedTypeFactory for handling Enum types.
  ExtendedEnumType<T extends Enum<T>> | An ExtendedType that handles a Java Enum based upon the Cayenne ExtendedEnumeration interface.
  ExtendedTypeMap | Stores ExtendedTypes, implementing an algorithm to determine the right type for a given Java class.
  FloatType |
  GeoJsonType |
  IntegerType |
  JsonType |
  LocalDateTimeValueType |
  LocalDateValueType |
  LocalTimeValueType |
  LongType |
  ObjectType | This is a default ExtendedType that relies on JDBC driver to determine the result type.
  PeriodValueType |
  ShortType | Handles `java.lang.Short` type mapping.
  TimestampType |
  TimeType |
  UtilDateType | Maps `java.util.Date` to any of the three database date/time types: TIME, DATE, TIMESTAMP.
  UUIDValueType |
  ValueObjectTypeFactory |
  VoidType | A noop type that is sometimes useful to suppress extended types operations.
  WktType |