public abstract class DefaultEntityEditModel extends DefaultValueMapEditModel<Property,java.lang.Object> implements EntityEditModel
EntityEditModel
implementation
String entityId = "some.entity"; String clientTypeId = "JavadocDemo"; User user = new User("scott", "tiger"); EntityConnectionProvider connectionProvider = EntityConnectionProviders.createConnectionProvider(user, clientTypeId); EntityEditModel editModel = new DefaultEntityEditModel(entityId, connectionProvider); EntityEditPanel panel = new EntityEditPanel(editModel); panel.initializePanel();
Modifier and Type | Class and Description |
---|---|
protected static class |
DefaultEntityEditModel.DefaultDeleteEvent |
protected static class |
DefaultEntityEditModel.DefaultInsertEvent |
protected static class |
DefaultEntityEditModel.DefaultUpdateEvent |
EntityEditModel.DeleteEvent, EntityEditModel.InsertEvent, EntityEditModel.UpdateEvent
COMBO_BOX_NULL_VALUE_ITEM, PERSIST_FOREIGN_KEY_VALUES, WARN_ABOUT_UNSAVED_DATA
Constructor and Description |
---|
DefaultEntityEditModel(java.lang.String entityId,
EntityConnectionProvider connectionProvider)
Instantiates a new
DefaultEntityEditModel based on the entity identified by entityId . |
DefaultEntityEditModel(java.lang.String entityId,
EntityConnectionProvider connectionProvider,
Entity.Validator validator)
Instantiates a new
DefaultEntityEditModel based on the entity identified by entityId . |
Modifier and Type | Method and Description |
---|---|
void |
addAfterDeleteListener(EventDataListener<EntityEditModel.DeleteEvent> listener) |
void |
addAfterInsertListener(EventDataListener<EntityEditModel.InsertEvent> listener) |
void |
addAfterRefreshListener(EventListener listener) |
void |
addAfterUpdateListener(EventDataListener<EntityEditModel.UpdateEvent> listener) |
void |
addBeforeDeleteListener(EventDataListener<EntityEditModel.DeleteEvent> listener) |
void |
addBeforeInsertListener(EventDataListener<EntityEditModel.InsertEvent> listener) |
void |
addBeforeRefreshListener(EventListener listener) |
void |
addBeforeUpdateListener(EventDataListener<EntityEditModel.UpdateEvent> listener) |
void |
addConfirmSetEntityObserver(EventDataListener<State> listener) |
void |
addEntitiesChangedListener(EventListener listener) |
void |
addEntitySetListener(EventDataListener<Entity> listener) |
void |
addValueListener(java.lang.String propertyId,
EventDataListener<ValueChange<Property,java.lang.Object>> listener)
Adds a listener notified each time the value associated with the given key changes
|
void |
addValueSetListener(java.lang.String propertyId,
EventDataListener<ValueChange<Property,java.lang.Object>> listener)
Adds a listener notified each time the value associated with the given property is set via
ValueMapEditModel.put(Object, Object) , note that this event is only fired when the the value changes |
boolean |
containsLookupModel(java.lang.String foreignKeyPropertyId)
Returns true if this edit model contains a
EntityLookupModel for the given foreign key property |
boolean |
containsUnsavedData()
Returns true if an entity is selected and a value has been modified or if the entity is new
and one or more non-default values have been entered
|
EntityLookupModel |
createForeignKeyLookupModel(ForeignKeyProperty foreignKeyProperty)
Creates a
EntityLookupModel for looking up entities referenced by the given foreign key property,
using the search properties defined for that entity type, or if none are defined all string based searchable
properties in that entity. |
java.util.List<Entity> |
delete()
Deletes the active entity
|
java.util.List<Entity> |
delete(java.util.List<Entity> entities)
Deletes the given entities, returns silently on receiving an empty list
|
protected java.util.List<Entity> |
doDelete(java.util.List<Entity> entities)
Deletes the given entities from the database
|
protected java.util.List<Entity.Key> |
doInsert(java.util.List<Entity> entities)
Inserts the given entities into the database
|
protected java.util.List<Entity> |
doUpdate(java.util.List<Entity> entities)
Updates the given entities in the database
|
protected void |
fireAfterDeleteEvent(EntityEditModel.DeleteEvent deleteEvent)
Notifies that a delete has been performed
|
protected void |
fireAfterInsertEvent(EntityEditModel.InsertEvent insertEvent)
Notifies that a insert has been performed
|
protected void |
fireAfterUpdateEvent(EntityEditModel.UpdateEvent updateEvent)
Notifies that an update has been performed
|
protected void |
fireBeforeDeleteEvent(EntityEditModel.DeleteEvent deleteEvent)
Notifies that a delete is about to be performed
|
protected void |
fireBeforeInsertEvent(EntityEditModel.InsertEvent insertEvent)
Notifies that a insert is about to be performed
|
protected void |
fireBeforeUpdateEvent(EntityEditModel.UpdateEvent updateEvent)
Notifies that an update is about to be performed
|
java.lang.Object |
get(java.lang.String propertyId)
Returns the value associated with the given property
|
StateObserver |
getAllowDeleteObserver() |
StateObserver |
getAllowInsertObserver() |
StateObserver |
getAllowUpdateObserver() |
EntityConnectionProvider |
getConnectionProvider() |
Entity |
getDefaultEntity() |
java.lang.Object |
getDefaultValue(Property property)
Returns the default value for the given property, used when initializing a new default entity for this edit model.
|
Domain |
getDomain() |
protected Entity |
getEntity() |
Entity |
getEntityCopy() |
Entity |
getEntityCopy(boolean includePrimaryKeyValues) |
Entity.Definition |
getEntityDefinition() |
java.lang.String |
getEntityId() |
StateObserver |
getEntityNewObserver() |
Entity |
getForeignKey(java.lang.String foreignKeyPropertyId)
Returns the value associated with the given propertyId assuming it
is an
Entity instance |
EntityLookupModel |
getForeignKeyLookupModel(ForeignKeyProperty foreignKeyProperty) |
EntityLookupModel |
getForeignKeyLookupModel(java.lang.String foreignKeyPropertyId) |
protected java.util.List<Entity> |
getModifiedEntities(java.util.List<Entity> entities)
Called during the
update() function, to determine which entities need to be updated,
these entities will then be forwarded to doUpdate(java.util.List) . |
StateObserver |
getModifiedObserver()
Returns a StateObserver responsible for indicating when and if any values in the underlying Entity are modified.
|
StateObserver |
getPrimaryKeyNullObserver() |
EventObserver<ValueChange<Property,java.lang.Object>> |
getValueObserver(java.lang.String propertyId) |
ValueCollectionProvider<java.lang.Object> |
getValueProvider(Property property)
Initializes a value provider for the given property, useful for adding lookup
functionality to input fields for example.
|
java.util.List<Entity> |
insert()
Performs a insert on the active entity, sets the primary key values of the active entity
according to the primary key of the inserted entity
|
java.util.List<Entity> |
insert(java.util.List<Entity> entities)
Performs an insert on the given entities, returns silently on receiving an empty list
|
boolean |
isDeleteAllowed() |
boolean |
isEntityNew()
Returns true if the active entity is new or false if it represents a row already persisted.
|
boolean |
isInsertAllowed() |
boolean |
isLookupAllowed(Property property)
Returns true if values based on this property should be available for lookup via this EditModel.
|
boolean |
isModified() |
boolean |
isNotNull(java.lang.String propertyId) |
boolean |
isNull(java.lang.String propertyId) |
boolean |
isReadOnly() |
boolean |
isUpdateAllowed() |
boolean |
isValuePersistent(Property property)
Returns true if the last available value for this property should be used when initializing
a default entity.
|
boolean |
isWarnAboutUnsavedData() |
void |
put(java.lang.String propertyId,
java.lang.Object value)
Sets the given value in the underlying value map
|
void |
refresh()
Performs a refresh, reloading the relevant data
|
protected void |
refreshDataModels() |
void |
refreshEntity()
Refreshes the active Entity from the database, discarding all changes.
|
java.lang.Object |
remove(java.lang.String propertyId)
Removes the given value from the underlying value map
|
void |
removeAfterDeleteListener(EventDataListener listener) |
void |
removeAfterInsertListener(EventDataListener listener) |
void |
removeAfterRefreshListener(EventListener listener) |
void |
removeAfterUpdateListener(EventDataListener listener) |
void |
removeBeforeDeleteListener(EventDataListener listener) |
void |
removeBeforeInsertListener(EventDataListener listener) |
void |
removeBeforeRefreshListener(EventListener listener) |
void |
removeBeforeUpdateListener(EventDataListener listener) |
void |
removeConfirmSetEntityObserver(EventDataListener listener) |
void |
removeEntitiesChangedListener(EventListener listener) |
void |
removeEntitySetListener(EventDataListener listener) |
void |
removeValueListener(java.lang.String propertyId,
EventDataListener listener) |
void |
removeValueSetListener(java.lang.String propertyId,
EventDataListener listener) |
void |
replaceForeignKeyValues(java.lang.String foreignKeyEntityId,
java.util.Collection<Entity> foreignKeyValues)
For every field referencing the given foreign key values, replaces that foreign key instance with
the corresponding entity from
foreignKeyValues , useful when property
values have been changed in the referenced entity that must be reflected in the edit model. |
EntityEditModel |
setDeleteAllowed(boolean value) |
void |
setEntity(Entity entity)
|
void |
setForeignKeyValues(java.util.List<Entity> values)
Sets the values in the given list as the values for the respective foreign keys, uses the first
value found for each entity type in case of multiple entities of that type
|
EntityEditModel |
setInsertAllowed(boolean value) |
EntityEditModel |
setReadOnly(boolean readOnly)
Makes this model read-only by disallowing insert, update and delete
|
EntityEditModel |
setUpdateAllowed(boolean value) |
EntityEditModel |
setValuePersistent(java.lang.String propertyId,
boolean persistValue) |
EntityEditModel |
setWarnAboutUnsavedData(boolean warnAboutUnsavedData) |
java.lang.String |
toString() |
java.util.List<Entity> |
update()
Performs a update on the active entity
|
java.util.List<Entity> |
update(java.util.List<Entity> entities)
Updates the given entities.
|
<V> Value<V> |
value(java.lang.String propertyId)
Instantiates a new Value based on the value identified by
propertyId in this edit model |
addValueListener, addValueSetListener, get, getValidator, getValidObserver, getValueMap, getValueObserver, getValueObserver, isNotNull, isNull, isNullable, isValid, isValid, put, remove, removeValueListener, removeValueSetListener, validate, validate, validate, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addForeignKeyValues, removeForeignKeyValues
addValueListener, addValueSetListener, get, getValidator, getValidObserver, getValueObserver, getValueObserver, isNotNull, isNull, isNullable, isValid, isValid, put, remove, removeValueListener, removeValueSetListener, validate, validate, validate, validate
clear
public DefaultEntityEditModel(java.lang.String entityId, EntityConnectionProvider connectionProvider)
DefaultEntityEditModel
based on the entity identified by entityId
.entityId
- the ID of the entity to base this DefaultEntityEditModel
onconnectionProvider
- the EntityConnectionProvider
instancepublic DefaultEntityEditModel(java.lang.String entityId, EntityConnectionProvider connectionProvider, Entity.Validator validator)
DefaultEntityEditModel
based on the entity identified by entityId
.entityId
- the ID of the entity to base this DefaultEntityEditModel
onconnectionProvider
- the EntityConnectionProvider
instancevalidator
- the validator to usepublic final Domain getDomain()
getDomain
in interface EntityEditModel
public final Entity.Definition getEntityDefinition()
getEntityDefinition
in interface EntityEditModel
public final java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object getDefaultValue(Property property)
EntityEditModel.setValuePersistent(String, boolean)
with true
for the given property or override EntityEditModel.isValuePersistent(org.jminor.framework.domain.property.Property)
so that it
returns true
for that property in case the value should persist.getDefaultValue
in interface EntityEditModel
property
- the propertyProperty.Builder#setDefaultValue(Object)
,
EntityEditModel.setValuePersistent(String, boolean)
,
EntityEditModel.isValuePersistent(Property)
public final boolean isReadOnly()
isReadOnly
in interface EntityEditModel
EntityEditModel.isInsertAllowed()
,
EntityEditModel.isUpdateAllowed()
,
EntityEditModel.isDeleteAllowed()
public final EntityEditModel setReadOnly(boolean readOnly)
setReadOnly
in interface EntityEditModel
readOnly
- the read only statusEntityEditModel.setInsertAllowed(boolean)
,
EntityEditModel.setUpdateAllowed(boolean)
,
EntityEditModel.setDeleteAllowed(boolean)
public final boolean isWarnAboutUnsavedData()
isWarnAboutUnsavedData
in interface EntityEditModel
EntityEditModel.WARN_ABOUT_UNSAVED_DATA
public final EntityEditModel setWarnAboutUnsavedData(boolean warnAboutUnsavedData)
setWarnAboutUnsavedData
in interface EntityEditModel
warnAboutUnsavedData
- if true then this model warns about unsaved dataEntityEditModel.WARN_ABOUT_UNSAVED_DATA
public boolean isLookupAllowed(Property property)
isLookupAllowed
in interface EntityEditModel
property
- the propertypublic boolean isValuePersistent(Property property)
EntityEditModel.PERSIST_FOREIGN_KEY_VALUES
.isValuePersistent
in interface EntityEditModel
property
- the propertyEntityEditModel.PERSIST_FOREIGN_KEY_VALUES
public final EntityEditModel setValuePersistent(java.lang.String propertyId, boolean persistValue)
setValuePersistent
in interface EntityEditModel
propertyId
- the property IDpersistValue
- true if this model should persist the value of the given property on clearEntityEditModel.PERSIST_FOREIGN_KEY_VALUES
public final boolean isInsertAllowed()
isInsertAllowed
in interface EntityEditModel
public final EntityEditModel setInsertAllowed(boolean value)
setInsertAllowed
in interface EntityEditModel
value
- true if this model should allow insertspublic final StateObserver getAllowInsertObserver()
getAllowInsertObserver
in interface EntityEditModel
StateObserver
used to determine if inserting should be enabledEntityEditModel.isInsertAllowed()
,
EntityEditModel.setInsertAllowed(boolean)
public EventObserver<ValueChange<Property,java.lang.Object>> getValueObserver(java.lang.String propertyId)
getValueObserver
in interface EntityEditModel
propertyId
- the ID of the property for which to retrieve the eventpublic final boolean isUpdateAllowed()
isUpdateAllowed
in interface EntityEditModel
public final EntityEditModel setUpdateAllowed(boolean value)
setUpdateAllowed
in interface EntityEditModel
value
- true if this model should allow records to be updatedpublic final StateObserver getAllowUpdateObserver()
getAllowUpdateObserver
in interface EntityEditModel
StateObserver
used to determine if updating should be enabledEntityEditModel.isUpdateAllowed()
,
EntityEditModel.setUpdateAllowed(boolean)
public final boolean isDeleteAllowed()
isDeleteAllowed
in interface EntityEditModel
public final EntityEditModel setDeleteAllowed(boolean value)
setDeleteAllowed
in interface EntityEditModel
value
- true if this model should allow records to be deletedpublic final StateObserver getAllowDeleteObserver()
getAllowDeleteObserver
in interface EntityEditModel
EntityEditModel.isDeleteAllowed()
,
EntityEditModel.setDeleteAllowed(boolean)
public final StateObserver getEntityNewObserver()
getEntityNewObserver
in interface EntityEditModel
EntityEditModel.isEntityNew()
public final StateObserver getPrimaryKeyNullObserver()
getPrimaryKeyNullObserver
in interface EntityEditModel
StateObserver
indicating whether or not the primary key of the active entity is nullpublic final void setEntity(Entity entity)
Entity
into the underlying
Entity
being edited by this edit model. If entity
is null then the entity being edited is populated with default valuessetEntity
in interface EntityEditModel
entity
- the entitypublic final java.lang.String getEntityId()
getEntityId
in interface EntityDataProvider
public final EntityConnectionProvider getConnectionProvider()
getConnectionProvider
in interface EntityDataProvider
public void replaceForeignKeyValues(java.lang.String foreignKeyEntityId, java.util.Collection<Entity> foreignKeyValues)
foreignKeyValues
, useful when property
values have been changed in the referenced entity that must be reflected in the edit model.replaceForeignKeyValues
in interface EntityEditModel
foreignKeyEntityId
- the entity ID of the foreign key valuesforeignKeyValues
- the new foreign key entitiespublic final Entity getEntityCopy()
getEntityCopy
in interface EntityEditModel
ValueMap.getCopy()
public final Entity getEntityCopy(boolean includePrimaryKeyValues)
getEntityCopy
in interface EntityEditModel
includePrimaryKeyValues
- if false then the primary key values are excludedValueMap.getCopy()
public final Entity getForeignKey(java.lang.String foreignKeyPropertyId)
Entity
instancegetForeignKey
in interface EntityEditModel
foreignKeyPropertyId
- the ID of the propertyEntity
public StateObserver getModifiedObserver()
getModifiedObserver
in interface EntityEditModel
EntityEditModel.isModified()
,
ValueMap.getModifiedObserver()
public final boolean isModified()
isModified
in interface EntityEditModel
EntityEditModel.getModifiedObserver()
public boolean isEntityNew()
isEntityNew
in interface EntityEditModel
EntityEditModel.getPrimaryKeyNullObserver()
,
Entity.isKeyNull()
public final void setForeignKeyValues(java.util.List<Entity> values)
setForeignKeyValues
in interface EntityEditModel
values
- the entitiespublic final java.lang.Object get(java.lang.String propertyId)
get
in interface EntityEditModel
propertyId
- the ID of the propertypublic final void put(java.lang.String propertyId, java.lang.Object value)
put
in interface EntityEditModel
propertyId
- the ID of the property to associate the given value withvalue
- the value to associate with the given propertypublic final java.lang.Object remove(java.lang.String propertyId)
remove
in interface EntityEditModel
propertyId
- the ID of the propertypublic final boolean isNull(java.lang.String propertyId)
isNull
in interface EntityEditModel
propertyId
- the ID of the propertypublic final boolean isNotNull(java.lang.String propertyId)
isNotNull
in interface EntityEditModel
propertyId
- the ID of the propertypublic final java.util.List<Entity> insert() throws DatabaseException, ValidationException
insert
in interface EntityEditModel
DatabaseException
- in case of a database exceptionValidationException
- in case validation failsEntity.Validator.validate(java.util.Collection)
public final java.util.List<Entity> insert(java.util.List<Entity> entities) throws DatabaseException, ValidationException
insert
in interface EntityEditModel
entities
- the entities to insertDatabaseException
- in case of a database exceptionValidationException
- in case validation failsEntityEditModel.addBeforeInsertListener(EventDataListener)
,
EntityEditModel.addAfterInsertListener(EventDataListener)
,
Entity.Validator.validate(java.util.Collection)
public final java.util.List<Entity> update() throws DatabaseException, ValidationException
update
in interface EntityEditModel
DatabaseException
- in case of a database exceptionRecordModifiedException
- in case an entity was modified by another userValidationException
- in case validation failsEntity.Validator.validate(java.util.Collection)
public final java.util.List<Entity> update(java.util.List<Entity> entities) throws DatabaseException, ValidationException
update
in interface EntityEditModel
entities
- the entities to updateDatabaseException
- in case of a database exceptionRecordModifiedException
- in case an entity was modified by another userValidationException
- in case validation failsEntityEditModel.addBeforeUpdateListener(EventDataListener)
,
EntityEditModel.addAfterUpdateListener(EventDataListener)
,
Entity.Validator.validate(java.util.Collection)
public final java.util.List<Entity> delete() throws DatabaseException
delete
in interface EntityEditModel
DatabaseException
- in case of a database exceptionEntityEditModel.addBeforeDeleteListener(EventDataListener)
,
EntityEditModel.addAfterDeleteListener(EventDataListener)
public final java.util.List<Entity> delete(java.util.List<Entity> entities) throws DatabaseException
delete
in interface EntityEditModel
entities
- the entities to deleteDatabaseException
- in case of a database exceptionEntityEditModel.addBeforeDeleteListener(EventDataListener)
,
EntityEditModel.addAfterDeleteListener(EventDataListener)
public final void refresh()
refresh
in interface Refreshable
protected void refreshDataModels()
public final void refreshEntity()
refreshEntity
in interface EntityEditModel
public final boolean containsLookupModel(java.lang.String foreignKeyPropertyId)
EntityLookupModel
for the given foreign key propertycontainsLookupModel
in interface EntityEditModel
foreignKeyPropertyId
- the ID of the propertyEntityLookupModel
has been initialized for the given foreign key propertypublic EntityLookupModel createForeignKeyLookupModel(ForeignKeyProperty foreignKeyProperty)
EntityLookupModel
for looking up entities referenced by the given foreign key property,
using the search properties defined for that entity type, or if none are defined all string based searchable
properties in that entity.createForeignKeyLookupModel
in interface EntityEditModel
foreignKeyProperty
- the foreign key property for which to create a EntityLookupModel
EntityLookupModel
for looking up entities of the type referenced by the given foreign key property,public final EntityLookupModel getForeignKeyLookupModel(java.lang.String foreignKeyPropertyId)
getForeignKeyLookupModel
in interface EntityEditModel
foreignKeyPropertyId
- the ID of the property for which to retrieve the EntityLookupModel
EntityLookupModel
associated with the property
, if no lookup model
has been initialized for the given property, a new one is created, associated with the property and returned.public final EntityLookupModel getForeignKeyLookupModel(ForeignKeyProperty foreignKeyProperty)
getForeignKeyLookupModel
in interface EntityEditModel
foreignKeyProperty
- the foreign key property for which to retrieve the EntityLookupModel
EntityLookupModel
associated with the property
, if no lookup model
has been initialized for the given property, a new one is created, associated with the property and returned.public final Entity getDefaultEntity()
getDefaultEntity
in interface EntityEditModel
EntityEditModel.getDefaultValue(Property)
public final ValueCollectionProvider<java.lang.Object> getValueProvider(Property property)
getValueProvider
in interface EntityEditModel
property
- the propertypublic final <V> Value<V> value(java.lang.String propertyId)
propertyId
in this edit modelvalue
in interface EntityEditModel
V
- the value typepropertyId
- the property idpublic final boolean containsUnsavedData()
containsUnsavedData
in interface EntityEditModel
EntityEditModel.WARN_ABOUT_UNSAVED_DATA
public final void removeValueSetListener(java.lang.String propertyId, EventDataListener listener)
removeValueSetListener
in interface EntityEditModel
propertyId
- the propertyIdlistener
- the listener to removepublic final void addValueSetListener(java.lang.String propertyId, EventDataListener<ValueChange<Property,java.lang.Object>> listener)
ValueMapEditModel.put(Object, Object)
, note that this event is only fired when the the value changesaddValueSetListener
in interface EntityEditModel
propertyId
- the ID of the property for which to monitor value changeslistener
- a listener notified each time the value of the given property is set via this modelpublic final void removeValueListener(java.lang.String propertyId, EventDataListener listener)
removeValueListener
in interface EntityEditModel
propertyId
- the ID of the property for which to remove the listenerlistener
- the listener to removepublic final void addValueListener(java.lang.String propertyId, EventDataListener<ValueChange<Property,java.lang.Object>> listener)
addValueListener
in interface EntityEditModel
propertyId
- the ID of the property for which to monitor value changeslistener
- a listener notified each time the value of the property identified by propertyId
changespublic final void removeEntitySetListener(EventDataListener listener)
removeEntitySetListener
in interface EntityEditModel
listener
- the listener to removepublic final void addEntitySetListener(EventDataListener<Entity> listener)
addEntitySetListener
in interface EntityEditModel
listener
- a listener notified each time the entity is setpublic final void removeBeforeInsertListener(EventDataListener listener)
removeBeforeInsertListener
in interface EntityEditModel
listener
- a listener to removepublic final void addBeforeInsertListener(EventDataListener<EntityEditModel.InsertEvent> listener)
addBeforeInsertListener
in interface EntityEditModel
listener
- a listener to be notified before an insert is performedpublic final void removeAfterInsertListener(EventDataListener listener)
removeAfterInsertListener
in interface EntityEditModel
listener
- a listener to removepublic final void addAfterInsertListener(EventDataListener<EntityEditModel.InsertEvent> listener)
addAfterInsertListener
in interface EntityEditModel
listener
- a listener to be notified each time a insert has been performedpublic final void removeBeforeUpdateListener(EventDataListener listener)
removeBeforeUpdateListener
in interface EntityEditModel
listener
- a listener to removepublic final void addBeforeUpdateListener(EventDataListener<EntityEditModel.UpdateEvent> listener)
addBeforeUpdateListener
in interface EntityEditModel
listener
- a listener to be notified before an update is performedpublic final void removeAfterUpdateListener(EventDataListener listener)
removeAfterUpdateListener
in interface EntityEditModel
listener
- a listener to removepublic final void addAfterUpdateListener(EventDataListener<EntityEditModel.UpdateEvent> listener)
addAfterUpdateListener
in interface EntityEditModel
listener
- a listener to be notified each time an update has been performedpublic final void addBeforeDeleteListener(EventDataListener<EntityEditModel.DeleteEvent> listener)
addBeforeDeleteListener
in interface EntityEditModel
listener
- a listener to be notified before a delete is performedpublic final void removeBeforeDeleteListener(EventDataListener listener)
removeBeforeDeleteListener
in interface EntityEditModel
listener
- a listener to removepublic final void removeAfterDeleteListener(EventDataListener listener)
removeAfterDeleteListener
in interface EntityEditModel
listener
- a listener to removepublic final void addAfterDeleteListener(EventDataListener<EntityEditModel.DeleteEvent> listener)
addAfterDeleteListener
in interface EntityEditModel
listener
- a listener to be notified each time a delete has been performedpublic final void removeEntitiesChangedListener(EventListener listener)
removeEntitiesChangedListener
in interface EntityEditModel
listener
- a listener to removepublic final void addEntitiesChangedListener(EventListener listener)
addEntitiesChangedListener
in interface EntityEditModel
listener
- a listener to be notified each time a entity is modified via this model,
updated, inserted or deletedpublic final void addBeforeRefreshListener(EventListener listener)
addBeforeRefreshListener
in interface EntityEditModel
listener
- a listener to be notified before a refresh is performedpublic final void removeBeforeRefreshListener(EventListener listener)
removeBeforeRefreshListener
in interface EntityEditModel
listener
- a listener to removepublic final void addAfterRefreshListener(EventListener listener)
addAfterRefreshListener
in interface EntityEditModel
listener
- a listener to be notified each time a refresh has been performedpublic final void removeAfterRefreshListener(EventListener listener)
removeAfterRefreshListener
in interface EntityEditModel
listener
- a listener to removepublic void addConfirmSetEntityObserver(EventDataListener<State> listener)
addConfirmSetEntityObserver
in interface EntityEditModel
listener
- a listener notified each time the active entity is about to be setpublic void removeConfirmSetEntityObserver(EventDataListener listener)
removeConfirmSetEntityObserver
in interface EntityEditModel
listener
- a listener to removeprotected java.util.List<Entity.Key> doInsert(java.util.List<Entity> entities) throws DatabaseException
entities
- the entities to insertDatabaseException
- in case of a database exceptionprotected java.util.List<Entity> doUpdate(java.util.List<Entity> entities) throws DatabaseException
entities
- the entities to updateDatabaseException
- in case of a database exceptionprotected java.util.List<Entity> doDelete(java.util.List<Entity> entities) throws DatabaseException
entities
- the entities to deleteDatabaseException
- in case of a database exceptionprotected java.util.List<Entity> getModifiedEntities(java.util.List<Entity> entities)
update()
function, to determine which entities need to be updated,
these entities will then be forwarded to doUpdate(java.util.List)
.
Returns the entities that have been modified and require updating, override to be able to
perform an update on unmodified entities or to return an empty list to veto an update action.entities
- the entitiesupdate()
,
update(java.util.List)
protected final void fireBeforeInsertEvent(EntityEditModel.InsertEvent insertEvent)
insertEvent
- the event describing the insertaddBeforeInsertListener(EventDataListener)
protected final void fireAfterInsertEvent(EntityEditModel.InsertEvent insertEvent)
insertEvent
- the event describing the insertaddAfterInsertListener(EventDataListener)
protected final void fireBeforeUpdateEvent(EntityEditModel.UpdateEvent updateEvent)
updateEvent
- the event describing the updateaddBeforeUpdateListener(EventDataListener)
protected final void fireAfterUpdateEvent(EntityEditModel.UpdateEvent updateEvent)
updateEvent
- the event describing the updateaddAfterUpdateListener(EventDataListener)
protected final void fireBeforeDeleteEvent(EntityEditModel.DeleteEvent deleteEvent)
deleteEvent
- the event describing the deleteaddBeforeDeleteListener(EventDataListener)
protected final void fireAfterDeleteEvent(EntityEditModel.DeleteEvent deleteEvent)
deleteEvent
- the event describing the deleteaddAfterDeleteListener(EventDataListener)