(no commit message)
[utils] / support / general / src / main / java / org / wamblee / persistence / Persistent.java
index 7b78691c2a4b00611ebe9086cf599dfe76440a02..e573b483c23ebea3a54429705ee22ccf0c3e0938 100644 (file)
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.persistence;
 
 import java.io.Serializable;
 
 /**
- * Interface for persistent objects. This defines required functionality for all
- * objects that are persisted.
- * 
- * Objects that implement this interface and which implement
- * {@link java.lang.Object#equals(java.lang.Object)} should exclude the primary
- * key and version from determining equality.
+ * Interface for persistent objects. This defines a generic interface for
+ * accessing primary key and version of entities.
  */
 public interface Persistent {
     /**
@@ -33,7 +29,7 @@ public interface Persistent {
      * 
      * @see #setPrimaryKey(Serializable)
      */
-    Long getPrimaryKey();
+    Serializable getPrimaryKey();
 
     /**
      * Sets the primary key.
@@ -43,7 +39,7 @@ public interface Persistent {
      * 
      * @see #getPrimaryKey()
      */
-    void setPrimaryKey(Long aKey);
+    void setPrimaryKey(Serializable aKey);
 
     /**
      * Gets the version.
@@ -52,7 +48,7 @@ public interface Persistent {
      * 
      * @see #setPersistedVersion(int)
      */
-    int getPersistedVersion();
+    Number getPersistedVersion();
 
     /**
      * Sets the version.
@@ -62,5 +58,5 @@ public interface Persistent {
      * 
      * @see #getPersistedVersion()
      */
-    void setPersistedVersion(int aVersion);
+    void setPersistedVersion(Number aVersion);
 }