Package io.jmix.core.entity
Class NullableIdEntityEntry
java.lang.Object
io.jmix.core.entity.BaseEntityEntry
io.jmix.core.entity.NullableIdEntityEntry
- All Implemented Interfaces:
EntityEntry,Serializable,Cloneable
Used by enhancing process. Subclass of
NullableIdEntityEntry will be created for entity that:
- has primary key (an attribute annotated with
Id,EmbeddedIdorJmixId) - Primary key is not annotated with
JmixGeneratedValue - There is no
UUIDattribute annotated withJmixGeneratedValue
- See Also:
-
Field Summary
Fields inherited from class io.jmix.core.entity.BaseEntityEntry
DETACHED, entityValuesProviders, extraStateMap, MANAGED, NEW, PROPERTY_CHANGE_LISTENERS_INITIAL_CAPACITY, propertyChangeListeners, REMOVED, securityState, source, state -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(EntityEntry entry) Copies the state of entity entry.GeneratedId will be determined at enhancing time as follows: primary key (Id,EmbeddedIdorJmixIdattribute) will be used if it hasJmixGeneratedValueannotation, any other UUIDJmixGeneratedValueproperty will be chosen if primary key doesn't haveJmixGeneratedValueannotation, primary key or some synthetic id will be used if there is noJmixGeneratedValuesatisfiyng conditions below (seeEntityEntryimplementations for details).
This algorithm used forBaseEntityEntryandNullableIdEntityEntry.inthashCode()voidsetGeneratedId(Object id) GeneratedId needed to identify entity, including hashCode calculation (seeEntityInternals.hashCode(Entity)).Methods inherited from class io.jmix.core.entity.BaseEntityEntry
addExtraState, addPropertyChangeListener, firePropertyChanged, getAllExtraState, getAttributeValue, getExtraState, getSecurityState, getSource, isDetached, isManaged, isNew, isRemoved, removeAllListeners, removePropertyChangeListener, setAttributeValue, setDetached, setManaged, setNew, setRemoved, setSecurityStateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.core.EntityEntry
getEntityId, getGeneratedId, isEmbeddable, setAttributeValue, setEntityId
-
Constructor Details
-
NullableIdEntityEntry
-
-
Method Details
-
hashCode
public int hashCode()- Overrides:
hashCodein classBaseEntityEntry
-
getGeneratedIdOrNull
Description copied from interface:EntityEntryGeneratedId will be determined at enhancing time as follows:- primary key (
Id,EmbeddedIdorJmixIdattribute) will be used if it hasJmixGeneratedValueannotation, - any other UUID
JmixGeneratedValueproperty will be chosen if primary key doesn't haveJmixGeneratedValueannotation, - primary key or some synthetic id will be used if there is no
JmixGeneratedValuesatisfiyng conditions below (seeEntityEntryimplementations for details).
This algorithm used forBaseEntityEntryandNullableIdEntityEntry. See implementing classes description to clarify whether each of them will be used (directly or through subclass creation during enhancing process) - primary key (
-
setGeneratedId
Description copied from interface:EntityEntryGeneratedId needed to identify entity, including hashCode calculation (seeEntityInternals.hashCode(Entity)). Thus it has to be copied at the very beginning of entity copy creation. -
copy
Description copied from interface:EntityEntryCopies the state of entity entry.- Specified by:
copyin interfaceEntityEntry- Overrides:
copyin classBaseEntityEntry
-