Package org.apache.cayenne.access.types
Interface ValueObjectType<V,T>
- Type Parameters:
V
- type of user's custom object.T
- type that custom object will be serialized to/from should be backed by appropriateExtendedType
.
- All Known Implementing Classes:
BigDecimalValueType
,BigIntegerValueType
,CharacterValueType
,LocalDateTimeValueType
,LocalDateValueType
,LocalTimeValueType
,PeriodValueType
,UUIDValueType
public interface ValueObjectType<V,T>
Descriptor and serialization helper for custom value objects that can be safely stored in the DB.
Lightweight alternative for the
ExtendedType
.- Since:
- 4.0
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
Allows to use special logic to compare values for equality as in rare cases it is not suffice to use default equals() method.fromJavaObject
(V object) toCacheKey
(V object) Returned value should be same for objects that is logically equal.toJavaObject
(T value)
-
Method Details
-
getTargetType
- Returns:
- base type used to serialize V objects to.
-
getValueType
- Returns:
- type of Objects described by this ValueObjectType.
-
toJavaObject
- Parameters:
value
- of type T- Returns:
- java object
-
fromJavaObject
- Parameters:
object
- java object- Returns:
- value of type T
-
toCacheKey
Returned value should be same for objects that is logically equal.- Returns:
- String representation usable for cache.
-
equals
Allows to use special logic to compare values for equality as in rare cases it is not suffice to use default equals() method. Default implementation usesObjects.equals(Object, Object)
method.- Parameters:
value1
- to comparevalue2
- to compare- Returns:
- true if given values are equal
-