public final class BeanMap<K,E> extends Object implements Map<K,E>
BeanCollection.ModifyListenMode
Constructor and Description |
---|
BeanMap()
Create using a underlying LinkedHashMap.
|
BeanMap(BeanCollectionLoader ebeanServer,
EntityBean ownerBean,
String propertyName) |
BeanMap(Map<K,E> map)
Create with a given Map.
|
Modifier and Type | Method and Description |
---|---|
void |
addBean(E bean)
Add a bean to the list/set with modifyListen notification.
|
boolean |
checkEmptyLazyLoad()
Check after the lazy load that the underlying collection is not null
(handle case where join to many not outer).
|
void |
clear() |
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
Set<Map.Entry<K,E>> |
entrySet() |
boolean |
equals(Object obj)
Equal if obj is a Map and equal in a Map sense.
|
E |
get(Object key) |
Collection<E> |
getActualDetails()
Returns the collection of beans (map values).
|
Collection<?> |
getActualEntries()
Returns the map entrySet.
|
Map<K,E> |
getActualMap()
Return the actual underlying map.
|
ExpressionList<?> |
getFilterMany()
Return the filter (if any) that was used in building this collection.
|
Set<E> |
getModifyAdditions()
Return the list of objects added to the list set or map.
|
BeanCollection.ModifyListenMode |
getModifyListening()
Return the current modify listening mode.
|
BeanCollection.ModifyListenMode |
getModifyListenMode()
Return the modify listening mode this collection is using.
|
Set<E> |
getModifyRemovals()
Return the list of objects removed from the list set or map.
|
EntityBean |
getOwnerBean()
Return the bean that owns this collection.
|
String |
getPropertyName()
Return the bean property name this collection represents.
|
BeanCollection<E> |
getShallowCopy()
Return a shallow copy of this collection that is modifiable.
|
int |
hashCode() |
boolean |
holdsModifications()
Return true if there are underlying additions or removals.
|
void |
internalAdd(Object bean)
Add the bean to the collection.
|
void |
internalAddWithCheck(Object bean)
Add the bean with a check to see if it is already contained.
|
void |
internalPut(Object key,
Object bean) |
void |
internalPutNull() |
void |
internalPutWithCheck(Object key,
Object bean) |
boolean |
isEmpty()
Return true if the List Set or Map is empty.
|
boolean |
isPopulated()
Return true if the underlying map has been populated.
|
boolean |
isReadOnly()
Return true if the collection should be treated as readOnly and no elements
can be added or removed etc.
|
boolean |
isReference()
Return true if this is a reference (lazy loading) bean collection.
|
boolean |
isRegisteredWithLoadContext()
Return true if the collection has been registered with the batch loading context.
|
boolean |
isSkipSave()
Return true if the collection is uninitialised or is empty without any held modifications.
|
Set<K> |
keySet() |
void |
loadFrom(BeanCollection<?> other)
Load bean from another collection.
|
void |
modifyAddition(E bean)
Add an object to the additions list.
|
void |
modifyRemoval(Object bean)
Add an object to the deletions list.
|
void |
modifyReset()
Reset the set of additions and deletions.
|
E |
put(K key,
E value) |
void |
putAll(Map<? extends K,? extends E> puts) |
E |
remove(Object key) |
void |
removeBean(E bean)
Remove a bean to the list/set with modifyListen notification.
|
void |
reset(EntityBean ownerBean,
String propertyName)
Reset the collection back to an empty state ready for reloading.
|
void |
setActualMap(Map<?,?> map)
Set the actual underlying map.
|
void |
setDisableLazyLoad(boolean disableLazyLoad)
Set the disableLazyLoad state.
|
void |
setFilterMany(ExpressionList<?> filterMany)
Set the filter that was used in building this collection.
|
void |
setLoader(BeanCollectionLoader loader)
Set the loader that will be used to lazy/query load this collection.
|
void |
setModifyListening(BeanCollection.ModifyListenMode mode)
set modifyListening to be on or off.
|
void |
setReadOnly(boolean readOnly)
Set to true if you want the BeanCollection to be treated as read only.
|
int |
size()
Return the number of elements in the List Set or Map.
|
String |
toString() |
Collection<E> |
values() |
boolean |
wasTouched()
Has been modified by an addition or removal.
|
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
public BeanMap()
public BeanMap(BeanCollectionLoader ebeanServer, EntityBean ownerBean, String propertyName)
public void reset(EntityBean ownerBean, String propertyName)
BeanCollection
This is done as part of bean refresh.
reset
in interface BeanCollection<E>
public boolean isSkipSave()
BeanCollection
Returning true means can safely skip cascade save for this bean collection.
isSkipSave
in interface BeanCollection<E>
public void loadFrom(BeanCollection<?> other)
BeanCollection
loadFrom
in interface BeanCollection<E>
public void internalPutNull()
public void internalPut(Object key, Object bean)
public void internalPutWithCheck(Object key, Object bean)
public void internalAddWithCheck(Object bean)
BeanCollection
internalAddWithCheck
in interface BeanCollection<E>
public void internalAdd(Object bean)
BeanCollection
This is disallowed for BeanMap.
internalAdd
in interface BeanCollection<E>
public boolean isPopulated()
isPopulated
in interface BeanCollection<E>
public boolean isReference()
isReference
in interface BeanCollection<E>
public boolean checkEmptyLazyLoad()
BeanCollection
That is, if the collection was not loaded due to filterMany predicates etc then make sure the collection is set to empty.
checkEmptyLazyLoad
in interface BeanCollection<E>
public void setActualMap(Map<?,?> map)
public Map<K,E> getActualMap()
public Collection<E> getActualDetails()
getActualDetails
in interface BeanCollection<E>
public Collection<?> getActualEntries()
This is because the key values may need to be set against the details (so they don't need to be set twice).
getActualEntries
in interface BeanCollection<E>
public int hashCode()
public boolean containsKey(Object key)
containsKey
in interface Map<K,E>
public boolean containsValue(Object value)
containsValue
in interface Map<K,E>
public boolean isEmpty()
BeanCollection
public void addBean(E bean)
BeanCollection
addBean
in interface BeanCollection<E>
public void removeBean(E bean)
BeanCollection
removeBean
in interface BeanCollection<E>
public int size()
BeanCollection
public BeanCollection<E> getShallowCopy()
BeanCollection
getShallowCopy
in interface BeanCollection<E>
public EntityBean getOwnerBean()
BeanCollection
getOwnerBean
in interface BeanCollection<E>
public String getPropertyName()
BeanCollection
getPropertyName
in interface BeanCollection<E>
public ExpressionList<?> getFilterMany()
BeanCollection
This is so that the filter can be applied on refresh.
getFilterMany
in interface BeanCollection<E>
public void setFilterMany(ExpressionList<?> filterMany)
BeanCollection
setFilterMany
in interface BeanCollection<E>
public void setDisableLazyLoad(boolean disableLazyLoad)
BeanCollection
setDisableLazyLoad
in interface BeanCollection<E>
public boolean isRegisteredWithLoadContext()
BeanCollection
isRegisteredWithLoadContext
in interface BeanCollection<E>
public void setLoader(BeanCollectionLoader loader)
BeanCollection
This is effectively the batch loading context this collection is registered with.
setLoader
in interface BeanCollection<E>
public boolean isReadOnly()
BeanCollection
isReadOnly
in interface BeanCollection<E>
public void setReadOnly(boolean readOnly)
BeanCollection
setReadOnly
in interface BeanCollection<E>
public BeanCollection.ModifyListenMode getModifyListening()
BeanCollection
getModifyListening
in interface BeanCollection<E>
public void setModifyListening(BeanCollection.ModifyListenMode mode)
setModifyListening
in interface BeanCollection<E>
public BeanCollection.ModifyListenMode getModifyListenMode()
public void modifyAddition(E bean)
BeanCollection
This will potentially end up as an insert into a intersection table for a ManyToMany.
modifyAddition
in interface BeanCollection<E>
public void modifyRemoval(Object bean)
BeanCollection
This will potentially end up as an delete from an intersection table for a ManyToMany.
modifyRemoval
in interface BeanCollection<E>
public void modifyReset()
BeanCollection
modifyReset
in interface BeanCollection<E>
public Set<E> getModifyAdditions()
BeanCollection
getModifyAdditions
in interface BeanCollection<E>
public Set<E> getModifyRemovals()
BeanCollection
getModifyRemovals
in interface BeanCollection<E>
public boolean holdsModifications()
holdsModifications
in interface BeanCollection<E>
public boolean wasTouched()
BeanCollection
wasTouched
in interface BeanCollection<E>
Copyright © 2019. All rights reserved.