1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package ch.elca.el4j.util.objectwrapper.impl;
18
19 import java.io.Serializable;
20
21 import ch.elca.el4j.services.persistence.generic.dto.AbstractIntKeyIntOptimisticLockingDto;
22 import ch.elca.el4j.util.objectwrapper.ObjectWrapperRTException;
23 import ch.elca.el4j.util.objectwrapper.interfaces.KeyedVersioned;
24
25
26
27
28
29
30
31
32 public class KeyedVersionedEl4jImpl extends AbstractWrapper implements KeyedVersioned {
33
34
35
36
37 private AbstractIntKeyIntOptimisticLockingDto m_targetDto;
38
39
40 @Override
41 public void create() throws ObjectWrapperRTException {
42 if (!(m_target instanceof AbstractIntKeyIntOptimisticLockingDto)) {
43 throw new ObjectWrapperRTException("This implementation is only for the "
44 + "AbstractIntKeyIntOptimisticLockingDto class.");
45 }
46 m_targetDto = (AbstractIntKeyIntOptimisticLockingDto) m_target;
47 }
48
49
50 public Serializable getKey() {
51 return m_targetDto.getKey();
52 }
53
54
55 public Class<?> getKeyClass() {
56 return Integer.class;
57 }
58
59
60 public Serializable getVersion() {
61 return m_targetDto.getOptimisticLockingVersion();
62 }
63
64
65 public Class<?> getVersionClass() {
66 return Integer.class;
67 }
68
69
70 public void setKey(Serializable key) {
71 if (key instanceof Integer) {
72 Integer i = (Integer) key;
73 m_targetDto.setKey(i);
74 } else {
75 throw new ObjectWrapperRTException("The target class requires integer keys.");
76 }
77 }
78
79
80 public void setVersion(Serializable version) {
81 if (version instanceof Integer) {
82 Integer i = (Integer) version;
83 m_targetDto.setOptimisticLockingVersion(i);
84 } else {
85 throw new ObjectWrapperRTException("The target class requires integer versions.");
86 }
87 }
88
89 }