public aspect KeyManagement
extends java.lang.Object
| Advised by: | com.googlecode.n_orm.ColumnFamiliyManagement.around(com.googlecode.n_orm.PersistingElement,java.lang.Object): |
Key.
Keys must declare an order from 1 to N, must not overlap, and must be all there, e.g. if N=3, the class must declare keys for orders 1, 2 and 3.
Keys are inherited.
For non-persisting elements (i.e. elements that are not annotated with Persisting, all fields must be keys.
As such, an element may be identified by a string, whose format is the following:
id ::= sid //for a simple element such as a character string, an integer, an enum...
| id (KEY_SEPARATORid)* (KEY_END_SEPARATORsid)? '}' //for an element as decribed above ; each included id representing its key values, and the last optional sid representing its class
| id (ARRAY_SEPARATORid)* //for an array
sid ::= (~(KEY_SEPARATOR|KEY_END_SEPARATOR|ARRAY_SEPARATOR))*
| Declare Summary | |||
| java.util.List | PersistingElement.getKeys()
| ||
| void | PersistingElement.checkIsValid()
| ||
| java.lang.String | PersistingElement.getIdentifier()
| ||
| java.lang.String | PersistingElement.getFullIdentifier()
| ||
| Advice Summary | ||
afterReturning(com.googlecode.n_orm.PersistingElement):
| ||
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ARRAY_SEPARATOR
|
static java.lang.String |
KEY_END_SEPARATOR
|
static java.lang.String |
KEY_SEPARATOR
|
| Constructor and Description |
|---|
KeyManagement() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canCreateFromKeys(java.lang.Class<?> type)
|
void |
checkKey(java.lang.reflect.Field f)
|
void |
cleanupKnownPersistingElements()
|
<T> T |
createElement(java.lang.Class<T> expectedType,
java.lang.String id)
Creates an element of the expected type with the given id.
|
java.lang.String |
createIdentifier(java.lang.Object element,
java.lang.Class<?> expected)
|
java.lang.String |
createIdentifier(java.lang.Object element,
java.lang.Class<?> expected,
boolean canCheckCache)
|
java.util.List<java.lang.reflect.Field> |
detectKeys(java.lang.Class<?> clazz)
|
static KeyManagement |
getInstance()
|
PersistingElement |
getKnownPersistingElement(java.lang.String fullIdentifier)
|
PersistingElement |
getKnownPersistingElement(java.lang.String identifier,
java.lang.Class<? extends PersistingElement> clazz)
|
boolean |
isKey(java.lang.reflect.Field key)
|
void |
register(PersistingElement element)
|
void |
unregister(java.lang.Class<? extends PersistingElement> clazz,
java.lang.String id)
|
void |
unregister(PersistingElement element)
|
| Declare Detail |
public java.util.List
| Declared on: | com.googlecode.n_orm.PersistingElement |
public void PersistingElement.checkIsValid()
| Declared on: | com.googlecode.n_orm.PersistingElement |
public java.lang.String PersistingElement.getIdentifier()
| Declared on: | com.googlecode.n_orm.PersistingElement |
public java.lang.String PersistingElement.getFullIdentifier()
| Declared on: | com.googlecode.n_orm.PersistingElement |
| Advice Detail |
afterReturning(com.googlecode.n_orm.PersistingElement):
| Advises: | com.googlecode.n_orm.StorageManagement.PersistingElement.delete |
public static final java.lang.String KEY_SEPARATOR
public static final java.lang.String KEY_END_SEPARATOR
public static final java.lang.String ARRAY_SEPARATOR
public static KeyManagement getInstance()
public void register(PersistingElement element)
public void unregister(PersistingElement element)
public void unregister(java.lang.Class<? extends PersistingElement> clazz, java.lang.String id)
public PersistingElement getKnownPersistingElement(java.lang.String fullIdentifier)
public PersistingElement getKnownPersistingElement(java.lang.String identifier, java.lang.Class<? extends PersistingElement> clazz)
public void cleanupKnownPersistingElements()
public <T> T createElement(java.lang.Class<T> expectedType,
java.lang.String id)
Cache).public boolean canCreateFromKeys(java.lang.Class<?> type)
public java.util.List<java.lang.reflect.Field> detectKeys(java.lang.Class<?> clazz)
public void checkKey(java.lang.reflect.Field f)
public boolean isKey(java.lang.reflect.Field key)
public java.lang.String createIdentifier(java.lang.Object element,
java.lang.Class<?> expected)
public java.lang.String createIdentifier(java.lang.Object element,
java.lang.Class<?> expected,
boolean canCheckCache)