/*
- * Copyright 2005 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* 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 {
-
/**
- * Gets the primary key.
+ * Gets the primary key.
+ *
* @return Primary key.
- * @see #setPrimaryKey(Serializable)
+ *
+ * @see #setPrimaryKey(Serializable)
*/
- Serializable getPrimaryKey();
-
+ Serializable getPrimaryKey();
+
/**
- * Sets the primary key.
- * @param aKey Primary key.
- * @see #getPrimaryKey()
+ * Sets the primary key.
+ *
+ * @param aKey
+ * Primary key.
+ *
+ * @see #getPrimaryKey()
*/
- void setPrimaryKey(Serializable aKey);
-
+ void setPrimaryKey(Serializable aKey);
+
/**
- * Gets the version.
- * @return Version.
+ * Gets the version.
+ *
+ * @return Version.
+ *
* @see #setPersistedVersion(int)
*/
- int getPersistedVersion();
-
+ Number getPersistedVersion();
+
/**
- * Sets the version.
- * @param aVersion Version.
+ * Sets the version.
+ *
+ * @param aVersion
+ * Version.
+ *
* @see #getPersistedVersion()
*/
- void setPersistedVersion(int aVersion);
+ void setPersistedVersion(Number aVersion);
}