Interface KeyGenerator
-
- All Known Implementing Classes:
GuidKeyGenerator
,PersistentKeyGenerator
,PKGenerator
,PrefixablePersistentKeyGenerator
,PrefixablePersistentKeyGenerator
,SystemTimeGenerator
public interface KeyGenerator
AKeyGenerator
provides methods for getting a unique key for example a serial number. The kind of key depends on used implementation. It can be a String with numbers ot letters but also data objects can be provided like the hybrisPK
class.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Object
generate()
Generates a new unique key.java.lang.Object
generateFor(java.lang.Object object)
Generates a new unique key in relation to given object.void
reset()
Resets the key generation so that an already generated key can be generated once again.
-
-
-
Method Detail
-
generate
java.lang.Object generate()
Generates a new unique key. If this method is called twice it will never return the same key twice (if key A is returned by first call and key B by second call, A does not equals B). A order of returned keys is not guaranteed (depends on implementation). After a call of thereset()
method the generator is reseted so that a key can be returned which already was returned before callingreset()
.- Returns:
- unique key
-
generateFor
java.lang.Object generateFor(java.lang.Object object)
Generates a new unique key in relation to given object. The key will be unique overall as ingenerate()
method and furthermore it is guaranteed that the key will only be produced for this object (think of a PK which contains the type information, a media PK will not be generated for a product, nevertheless it is unique overall).- Parameters:
object
- object for which a key will be generated- Returns:
- unique key in relation to given object
-
reset
void reset()
Resets the key generation so that an already generated key can be generated once again.
-
-