|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AttributeService
This provides services for reading, writing, and querying global attributes.
Attributes are uniquely identified by up to 3 keys; null keys are themselves treated uniquely i.e.['a','b']
is equivalent to ['a','b',null]
in all cases except where multiple search results
are possible. Keys can be any simple Serializable
type, typically being convertable using
DefaultTypeConverter
. The attribute values persisted can be any Serializable
(including collections) but the raw values should be convertable by the DefaultTypeConverter
for
the most efficient persistence.
Nested Class Summary | |
---|---|
static interface |
AttributeService.AttributeQueryCallback
Callback used for querying for lists of attributes. |
Method Summary | |
---|---|
void |
createAttribute(java.io.Serializable value,
java.io.Serializable[] keys)
Create an attribute with an optional value, assuming there is no existing attribute using the same keys. |
boolean |
exists(java.io.Serializable[] keys)
Determine if a particular attribute exists. |
java.io.Serializable |
getAttribute(java.io.Serializable[] keys)
Get an attribute using a list of unique keys |
void |
getAttributes(AttributeService.AttributeQueryCallback callback,
java.io.Serializable[] keys)
Get all attributes that share the starter keys provided. |
void |
removeAttribute(java.io.Serializable[] keys)
Remove a specific attribute. |
void |
removeAttributes(java.io.Serializable[] keys)
Remove all attributes that share a set of keys (in order) |
void |
setAttribute(java.io.Serializable value,
java.io.Serializable[] keys)
Set an attribute, overwriting its prior value if it already existed. |
void |
updateOrCreateAttribute(java.io.Serializable keyBefore1,
java.io.Serializable keyBefore2,
java.io.Serializable keyBefore3,
java.io.Serializable keyAfter1,
java.io.Serializable keyAfter2,
java.io.Serializable keyAfter3)
Update an attribute key whilst preserving the associated value (if any). |
Method Detail |
---|
boolean exists(java.io.Serializable[] keys)
keys
- List of 1 to 3 keys to uniquely identify the attribute
java.io.Serializable getAttribute(java.io.Serializable[] keys)
keys
- List of 1 to 3 keys to uniquely identify the attribute
void getAttributes(AttributeService.AttributeQueryCallback callback, java.io.Serializable[] keys)
callback
- the callback that handles the resultskeys
- 0 to 3 key values to search againstvoid setAttribute(java.io.Serializable value, java.io.Serializable[] keys)
#exists(String...)
will still return true. If the attribute doesn't
exist, it will be created otherwise it will be modified.
value
- The value to store (can be a collection or null)keys
- List of 1 to 3 keys to uniquely identify the attributevoid createAttribute(java.io.Serializable value, java.io.Serializable[] keys)
value
- The value to store (can be a collection or null)keys
- List of 1 to 3 keys to uniquely identify the attribute
DuplicateAttributeException
- if the attribute already existsvoid updateOrCreateAttribute(java.io.Serializable keyBefore1, java.io.Serializable keyBefore2, java.io.Serializable keyBefore3, java.io.Serializable keyAfter1, java.io.Serializable keyAfter2, java.io.Serializable keyAfter3)
keyBefore1
- the first part of the original unique key (never null)keyBefore2
- the second part of the original unique key (null allowed)keyBefore3
- the third part of the original unique key (null allowed)keyAfter1
- the first part of the new unique key (never null)keyAfter2
- the second part of the new unique key (null allowed)keyAfter3
- the third part of the new unique key (null allowed)void removeAttribute(java.io.Serializable[] keys)
keys
- up to 3 keys to uniquely identify the attributevoid removeAttributes(java.io.Serializable[] keys)
keys
- up to 3 keys to identify attributes to remove
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |