org.hibernate.type
Interface VersionType<T>

All Superinterfaces:
Serializable, Type
All Known Implementing Classes:
AbstractBynaryType, AbstractLongBinaryType, BinaryType, ByteType, CalendarType, CustomType, DbTimestampType, IntegerType, LongType, ShortType, TimestampType

public interface VersionType<T>
extends Type

Additional contract for types which may be used to version (and optimistic lock) data.


Method Summary
 Comparator<T> getComparator()
          Get a comparator for version values.
 T next(T current, SessionImplementor session)
          Increment the version.
 T seed(SessionImplementor session)
          Generate an initial version.
 
Methods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, deepCopy, defaultSizes, dictatedSizes, disassemble, fromXMLNode, getColumnSpan, getHashCode, getHashCode, getName, getReturnedClass, getSemiResolvedType, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, isXMLElement, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, replace, resolve, semiResolve, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString
 

Method Detail

seed

T seed(SessionImplementor session)
Generate an initial version.

Parameters:
session - The session from which this request originates.
Returns:
an instance of the type

next

T next(T current,
       SessionImplementor session)
Increment the version.

Parameters:
session - The session from which this request originates.
current - the current version
Returns:
an instance of the type

getComparator

Comparator<T> getComparator()
Get a comparator for version values.

Returns:
The comparator to use to compare different version values.


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