f5944843ab7a5cd9017da1ed44ee44257d50b306
[utils] / security / impl / src / main / java / org / wamblee / security / AbstractPersistent.java
1 /*
2  * Copyright 2005-2010 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.security;
17
18 import java.io.Serializable;
19
20 import javax.persistence.GeneratedValue;
21 import javax.persistence.GenerationType;
22 import javax.persistence.Id;
23 import javax.persistence.Version;
24
25 import org.wamblee.persistence.Persistent;
26
27 /**
28  * Default implementation of Persistent.
29  * 
30  * @author Erik Brakkee
31  */
32 public abstract class AbstractPersistent implements Persistent {
33     
34     @Id
35     @GeneratedValue(strategy = GenerationType.AUTO)
36     private Long primaryKey;
37
38     @Version
39     private int version;
40
41     protected AbstractPersistent() {
42         primaryKey = null;
43         version = -1;
44     }
45
46     /**
47      * Copy constructor.
48      * 
49      * @param aPersistent
50      *            Object to copy.
51      */
52     protected AbstractPersistent(AbstractPersistent aPersistent) {
53         primaryKey = aPersistent.primaryKey;
54         version = aPersistent.version;
55     }
56
57     /*
58      * (non-Javadoc)
59      * 
60      * @see org.wamblee.persistence.Persistent#getPrimaryKey()
61      */
62     @Override
63     public Long getPrimaryKey() {
64         return primaryKey;
65     }
66
67     /*
68      * (non-Javadoc)
69      * 
70      * @see
71      * org.wamblee.persistence.Persistent#setPrimaryKey(java.io.Serializable)
72      */
73     @Override
74     public void setPrimaryKey(Long aKey) {
75         primaryKey = aKey;
76     }
77
78     /*
79      * (non-Javadoc)
80      * 
81      * @see org.wamblee.persistence.Persistent#getPersistedVersion()
82      */
83     public int getPersistedVersion() {
84         return version;
85     }
86
87     /*
88      * (non-Javadoc)
89      * 
90      * @see org.wamblee.persistence.Persistent#setPersistedVersion(int)
91      */
92     public void setPersistedVersion(int aVersion) {
93         version = aVersion;
94     }
95 }