diff options
Diffstat (limited to 'src/main/java/com/c2kernel/persistency/ClusterStorage.java')
| -rw-r--r-- | src/main/java/com/c2kernel/persistency/ClusterStorage.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/main/java/com/c2kernel/persistency/ClusterStorage.java b/src/main/java/com/c2kernel/persistency/ClusterStorage.java index cf7f401..049b69a 100644 --- a/src/main/java/com/c2kernel/persistency/ClusterStorage.java +++ b/src/main/java/com/c2kernel/persistency/ClusterStorage.java @@ -1,5 +1,6 @@ package com.c2kernel.persistency;
+import com.c2kernel.common.SystemKey;
import com.c2kernel.entity.C2KLocalObject;
import com.c2kernel.lookup.ItemPath;
import com.c2kernel.persistency.outcome.Outcome;
@@ -8,21 +9,24 @@ import com.c2kernel.process.auth.Authenticator; import com.c2kernel.utils.Logger;
/**
- * Interface for persistency managers of entities. It allows different kernel
+ * <p>Interface for persistency managers of entities. It allows different kernel
* objects to be stored in different backend. For instance, Properties may be
* stored in LDAP, while Events, Outcomes and Viewpoints could be stored in a
- * relational database. There are old generic query methods, but these are
- * deprecated. The kernel does no analytical querying of the ClusterStorages,
- * only simple gets and puts.
+ * relational database. The kernel does and needs no analytical querying of the
+ * ClusterStorages, only simple gets and puts. This may be implemented on top
+ * of the storage implementation separately.
*
- * Each first-level path under the Item is defined as a Cluster. Different
+ * <p>Each item is indexed by its {@link ItemPath}, which is may be constructed from its
+ * UUID, equivalent {@link SystemKey} object, or
+ *
+ * <p>Each first-level path under the Item is defined as a Cluster. Different
* Clusters may be stored in different places. Each ClusterStorage must support
- * {@link #get(Integer, String)} and
- * {@link #getClusterContents(Integer, String)} for clusters they return
+ * {@link #get(ItemPath, String)} and
+ * {@link #getClusterContents(ItemPath, String)} for clusters they return
* {@link #READ} and {@link #READWRITE} from queryClusterSupport and
- * {@link #put(Integer, C2KLocalObject)} and {@link #delete(Integer, String)}
+ * {@link #put(ItemPath, C2KLocalObject)} and {@link #delete(ItemPath, String)}
* for clusters they return {@link #WRITE} and {@link #READWRITE} from
- * {@link #getClusterContents(Integer, String)}. Operations that have notbeen
+ * {@link #getClusterContents(ItemPath, String)}. Operations that have not been
* declared as not supported should throw a ClusterStorageException. If a
* cluster does not exist, get should return null, and delete should return with
* no action.
@@ -207,8 +211,8 @@ public abstract class ClusterStorage { /**
* Fetches a CRISTAL local object from storage
*
- * @param sysKey
- * The system key of the containing Item
+ * @param itemPath
+ * The ItemPath of the containing Item
* @param path
* The path of the local object
* @return The C2KLocalObject, or null if the object was not found
@@ -221,7 +225,7 @@ public abstract class ClusterStorage { /**
* Stores a CRISTAL local object. The path is automatically generated.
*
- * @param sysKey
+ * @param itemPath
* The Item that the object will be stored under
* @param obj
* The C2KLocalObject to store
@@ -236,7 +240,7 @@ public abstract class ClusterStorage { * and responsibly, as it violated traceability. Objects removed in this way
* are not expected to be recoverable.
*
- * @param sysKey
+ * @param itemPath
* The containing Item
* @param path
* The path of the object to be removed
@@ -251,7 +255,7 @@ public abstract class ClusterStorage { * Queries the local path below the given root and returns the possible next
* elements.
*
- * @param sysKey
+ * @param itemPath
* The Item to query
* @param path
* The path within that Item to query. May be ClusterStorage.ROOT
|
