public static interface EntityLookupCache.EntityLookupCallbackDAO<K1 extends Serializable,V1,VK1 extends Serializable>
Modifier and Type | Method and Description |
---|---|
org.alfresco.util.Pair<K1,V1> |
createValue(V1 value)
Create an entity using the given values.
|
int |
deleteByKey(K1 key)
Delete an entity for the given key.
|
int |
deleteByValue(V1 value)
Delete an entity for the given value.
|
org.alfresco.util.Pair<K1,V1> |
findByKey(K1 key)
Find an entity for a given key.
|
org.alfresco.util.Pair<K1,V1> |
findByValue(V1 value)
Find and entity using the given value key.
|
VK1 |
getValueKey(V1 value)
Resolve the given value into a unique value key that can be used to find the entity's ID.
|
int |
updateValue(K1 key,
V1 value)
Update the entity identified by the given key.
|
VK1 getValueKey(V1 value)
equals
and hashCode
.
Were no adequate key can be generated for the value, then null can be returned.
In this case, the findByValue
method might not even do a search
and just return null itself i.e. if it is difficult to look the value up in storage
then it is probably difficult to generate a cache key from it, too.. In this scenario, the
cache will be purely for key-based lookupsvalue
- the full value being keyed (never null)org.alfresco.util.Pair<K1,V1> findByKey(K1 key)
key
- the key (ID) used to identify the entity (never null)org.alfresco.util.Pair<K1,V1> findByValue(V1 value)
equals
and hashCode
methods of the value object should respect case-sensitivity in the same way that this
lookup treats case-sensitivity i.e. if the equals
method is case-sensitive
then this method should look the entity up using a case-sensitive search.
Since this is a cache backed by some sort of database, null values are allowed by the
cache. The implementation of this method can throw an exception if null is not
appropriate for the use-case.
If the search is impossible or expensive, this method should just return null. This
would usually be the case if the getValueKey
method also returned
null i.e. if it is difficult to look the value up in storage then it is probably
difficult to generate a cache key from it, too.value
- the value (business object) used to identify the entity (null allowed).org.alfresco.util.Pair<K1,V1> createValue(V1 value)
value
- the value (business object) used to identify the entity (null allowed).int updateValue(K1 key, V1 value)
key
- the existing key (ID) used to identify the entity (never null)value
- the new valueUnsupportedOperationException
- if entity updates are not supportedint deleteByKey(K1 key)
key
- the key (ID) used to identify the entity (never null)UnsupportedOperationException
- if entity deletion is not supportedint deleteByValue(V1 value)
value
- the value (business object) used to identify the enitity (null allowed)UnsupportedOperationException
- if entity deletion is not supportedCopyright © 2005–2017 Alfresco Software. All rights reserved.