3412c0fe5cb78e8602b498a8e09e6d28831036d9
[utils] / support / general / src / main / java / org / wamblee / persistence / AbstractPersistent.java
1 /*
2  * Copyright 2005 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.wamblee.persistence;
17
18 import java.io.Serializable;
19
20
21 /**
22  * Default implementation of Persistent.
23  *
24  * @author Erik Brakkee
25  */
26 public abstract class AbstractPersistent implements Persistent {
27     /**
28      * Primary key.
29      */
30     private Serializable primaryKey;
31
32     /**
33      * Version.
34      */
35     private int version;
36
37 /**
38      * Constructs the object.
39      *
40      */
41     protected AbstractPersistent() {
42         primaryKey     = null;
43         version        = -1;
44     }
45
46 /**
47      * Copy constructor.
48      * @param aPersistent Object to copy.
49      */
50     protected AbstractPersistent(AbstractPersistent aPersistent) {
51         primaryKey     = aPersistent.primaryKey;
52         version        = aPersistent.version;
53     }
54
55     /* (non-Javadoc)
56      * @see org.wamblee.persistence.Persistent#getPrimaryKey()
57      */
58     /**
59      * DOCUMENT ME!
60      *
61      * @return DOCUMENT ME!
62      */
63     public Serializable getPrimaryKey() {
64         return primaryKey;
65     }
66
67     /* (non-Javadoc)
68      * @see org.wamblee.persistence.Persistent#setPrimaryKey(java.io.Serializable)
69      */
70     /**
71      * DOCUMENT ME!
72      *
73      * @param aKey DOCUMENT ME!
74      */
75     public void setPrimaryKey(Serializable aKey) {
76         primaryKey = aKey;
77     }
78
79     /* (non-Javadoc)
80      * @see org.wamblee.persistence.Persistent#getPersistedVersion()
81      */
82     /**
83      * DOCUMENT ME!
84      *
85      * @return DOCUMENT ME!
86      */
87     public int getPersistedVersion() {
88         return version;
89     }
90
91     /* (non-Javadoc)
92      * @see org.wamblee.persistence.Persistent#setPersistedVersion(int)
93      */
94     /**
95      * DOCUMENT ME!
96      *
97      * @param aVersion DOCUMENT ME!
98      */
99     public void setPersistedVersion(int aVersion) {
100         version = aVersion;
101     }
102 }