1 | public final class FieldInterceptorImpl extends AbstractFieldInterceptor implements InterceptFieldCallback, Serializable {↵ | | 1 | public final class FieldInterceptorImpl extends AbstractFieldInterceptor implements FieldHandler, Serializable {↵
|
|
2 | /**↵ | | 2 | /**↵
|
3 | * Package-protected constructor↵ | | 3 | * Package-protected constructor.↵
|
4 | *↵ | | 4 | *↵
|
5 | * @param session The Hibernate session↵ | | 5 | * @param session↵
|
6 | * @param uninitializedFields Names of the fields we need to initialize on load↵ | | 6 | * @param uninitializedFields↵
|
7 | * @param entityName The entity name to which we are being bound↵ | | |
|
| | | 7 | * @param entityName↵
|
8 | */↵ | | 8 | */↵
|
9 | FieldInterceptorImpl(SessionImplementor session, Set uninitializedFields, String entityName) {↵ | | 9 | FieldInterceptorImpl(SessionImplementor session, Set uninitializedFields, String entityName) {↵
|
10 | super( session, uninitializedFields, entityName );↵ | | 10 | super( session, uninitializedFields, entityName );↵
|
11 | }↵ | | 11 | }↵
|
|
|
| | | 12 | // FieldHandler impl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~↵
|
|
12 | public boolean readBoolean(Object target, String name, boolean oldValue) {↵ | | 13 | public boolean readBoolean(Object target, String name, boolean oldValue) {↵
|
13 | return ( ( Boolean ) intercept( target, name, oldValue ? Boolean.TRUE : Boolean.FALSE ) )↵ | | 14 | return ( ( Boolean ) intercept( target, name, oldValue ? Boolean.TRUE : Boolean.FALSE ) )↵
|
14 | .booleanValue();↵ | | 15 | .booleanValue();↵
|
15 | }↵ | | 16 | }↵
|
|
16 | public byte readByte(Object target, String name, byte oldValue) {↵ | | 17 | public byte readByte(Object target, String name, byte oldValue) {↵
|
17 | return ( ( Byte ) intercept( target, name, new Byte( oldValue ) ) ).byteValue();↵ | | 18 | return ( ( Byte ) intercept( target, name, new Byte( oldValue ) ) ).byteValue();↵
|
18 | }↵ | | 19 | }↵
|
|
19 | public char readChar(Object target, String name, char oldValue) {↵ | | 20 | public char readChar(Object target, String name, char oldValue) {↵
|
20 | return ( ( Character ) intercept( target, name, new Character( oldValue ) ) )↵ | | 21 | return ( ( Character ) intercept( target, name, new Character( oldValue ) ) )↵
|
21 | .charValue();↵ | | 22 | .charValue();↵
|
22 | }↵ | | 23 | }↵
|
|
23 | public double readDouble(Object target, String name, double oldValue) {↵ | | 24 | public double readDouble(Object target, String name, double oldValue) {↵
|
24 | return ( ( Double ) intercept( target, name, new Double( oldValue ) ) )↵ | | 25 | return ( ( Double ) intercept( target, name, new Double( oldValue ) ) )↵
|
25 | .doubleValue();↵ | | 26 | .doubleValue();↵
|
26 | }↵ | | 27 | }↵
|
|
27 | public float readFloat(Object target, String name, float oldValue) {↵ | | 28 | public float readFloat(Object target, String name, float oldValue) {↵
|
28 | return ( ( Float ) intercept( target, name, new Float( oldValue ) ) )↵ | | 29 | return ( ( Float ) intercept( target, name, new Float( oldValue ) ) )↵
|
29 | .floatValue();↵ | | 30 | .floatValue();↵
|
30 | }↵ | | 31 | }↵
|
|
31 | public int readInt(Object target, String name, int oldValue) {↵ | | 32 | public int readInt(Object target, String name, int oldValue) {↵
|
32 | return ( ( Integer ) intercept( target, name, new Integer( oldValue ) ) )↵ | | 33 | return ( ( Integer ) intercept( target, name, new Integer( oldValue ) ) )↵
|
33 | .intValue();↵ | | 34 | .intValue();↵
|
34 | }↵ | | 35 | }↵
|
|
35 | public long readLong(Object target, String name, long oldValue) {↵ | | 36 | public long readLong(Object target, String name, long oldValue) {↵
|
36 | return ( ( Long ) intercept( target, name, new Long( oldValue ) ) ).longValue();↵ | | 37 | return ( ( Long ) intercept( target, name, new Long( oldValue ) ) ).longValue();↵
|
37 | }↵ | | 38 | }↵
|
|
38 | public short readShort(Object target, String name, short oldValue) {↵ | | 39 | public short readShort(Object target, String name, short oldValue) {↵
|
39 | return ( ( Short ) intercept( target, name, new Short( oldValue ) ) )↵ | | 40 | return ( ( Short ) intercept( target, name, new Short( oldValue ) ) )↵
|
40 | .shortValue();↵ | | 41 | .shortValue();↵
|
41 | }↵ | | 42 | }↵
|
|
42 | public Object readObject(Object target, String name, Object oldValue) {↵ | | 43 | public Object readObject(Object target, String name, Object oldValue) {↵
|
43 | Object value = intercept( target, name, oldValue );↵ | | 44 | Object value = intercept( target, name, oldValue );↵
|
44 | if (value instanceof HibernateProxy) {↵ | | 45 | if (value instanceof HibernateProxy) {↵
|
45 | LazyInitializer li = ( (HibernateProxy) value ).getHibernateLazyInitializer();↵ | | 46 | LazyInitializer li = ( (HibernateProxy) value ).getHibernateLazyInitializer();↵
|
46 | if ( li.isUnwrap() ) {↵ | | 47 | if ( li.isUnwrap() ) {↵
|
47 | value = li.getImplementation();↵ | | 48 | value = li.getImplementation();↵
|
48 | }↵ | | 49 | }↵
|
49 | }↵ | | 50 | }↵
|
50 | return value;↵ | | 51 | return value;↵
|
51 | }↵ | | 52 | }↵
|
|
52 | public boolean writeBoolean(Object target, String name, boolean oldValue, boolean newValue) {↵ | | 53 | public boolean writeBoolean(Object target, String name, boolean oldValue, boolean newValue) {↵
|
53 | dirty();↵ | | 54 | dirty();↵
|
54 | intercept( target, name, oldValue ? Boolean.TRUE : Boolean.FALSE );↵ | | 55 | intercept( target, name, oldValue ? Boolean.TRUE : Boolean.FALSE );↵
|
55 | return newValue;↵ | | 56 | return newValue;↵
|
56 | }↵ | | 57 | }↵
|
|
57 | public byte writeByte(Object target, String name, byte oldValue, byte newValue) {↵ | | 58 | public byte writeByte(Object target, String name, byte oldValue, byte newValue) {↵
|
58 | dirty();↵ | | 59 | dirty();↵
|
59 | intercept( target, name, new Byte( oldValue ) );↵ | | 60 | intercept( target, name, new Byte( oldValue ) );↵
|
60 | return newValue;↵ | | 61 | return newValue;↵
|
61 | }↵ | | 62 | }↵
|
|
62 | public char writeChar(Object target, String name, char oldValue, char newValue) {↵ | | 63 | public char writeChar(Object target, String name, char oldValue, char newValue) {↵
|
63 | dirty();↵ | | 64 | dirty();↵
|
64 | intercept( target, name, new Character( oldValue ) );↵ | | 65 | intercept( target, name, new Character( oldValue ) );↵
|
65 | return newValue;↵ | | 66 | return newValue;↵
|
66 | }↵ | | 67 | }↵
|
|
67 | public double writeDouble(Object target, String name, double oldValue, double newValue) {↵ | | 68 | public double writeDouble(Object target, String name, double oldValue, double newValue) {↵
|
68 | dirty();↵ | | 69 | dirty();↵
|
69 | intercept( target, name, new Double( oldValue ) );↵ | | 70 | intercept( target, name, new Double( oldValue ) );↵
|
70 | return newValue;↵ | | 71 | return newValue;↵
|
71 | }↵ | | 72 | }↵
|
|
72 | public float writeFloat(Object target, String name, float oldValue, float newValue) {↵ | | 73 | public float writeFloat(Object target, String name, float oldValue, float newValue) {↵
|
73 | dirty();↵ | | 74 | dirty();↵
|
74 | intercept( target, name, new Float( oldValue ) );↵ | | 75 | intercept( target, name, new Float( oldValue ) );↵
|
75 | return newValue;↵ | | 76 | return newValue;↵
|
76 | }↵ | | 77 | }↵
|
|
77 | public int writeInt(Object target, String name, int oldValue, int newValue) {↵ | | 78 | public int writeInt(Object target, String name, int oldValue, int newValue) {↵
|
78 | dirty();↵ | | 79 | dirty();↵
|
79 | intercept( target, name, new Integer( oldValue ) );↵ | | 80 | intercept( target, name, new Integer( oldValue ) );↵
|
80 | return newValue;↵ | | 81 | return newValue;↵
|
81 | }↵ | | 82 | }↵
|
|
82 | public long writeLong(Object target, String name, long oldValue, long newValue) {↵ | | 83 | public long writeLong(Object target, String name, long oldValue, long newValue) {↵
|
83 | dirty();↵ | | 84 | dirty();↵
|
84 | intercept( target, name, new Long( oldValue ) );↵ | | 85 | intercept( target, name, new Long( oldValue ) );↵
|
85 | return newValue;↵ | | 86 | return newValue;↵
|
86 | }↵ | | 87 | }↵
|
|
87 | public short writeShort(Object target, String name, short oldValue, short newValue) {↵ | | 88 | public short writeShort(Object target, String name, short oldValue, short newValue) {↵
|
88 | dirty();↵ | | 89 | dirty();↵
|
89 | intercept( target, name, new Short( oldValue ) );↵ | | 90 | intercept( target, name, new Short( oldValue ) );↵
|
90 | return newValue;↵ | | 91 | return newValue;↵
|
91 | }↵ | | 92 | }↵
|
|
92 | public Object writeObject(Object target, String name, Object oldValue, Object newValue) {↵ | | 93 | public Object writeObject(Object target, String name, Object oldValue, Object newValue) {↵
|
93 | dirty();↵ | | 94 | dirty();↵
|
94 | intercept( target, name, oldValue );↵ | | 95 | intercept( target, name, oldValue );↵
|
95 | return newValue;↵ | | 96 | return newValue;↵
|
96 | }↵ | | 97 | }↵
|
|
97 | public String toString() {↵ | | 98 | public String toString() {↵
|
98 | return "FieldInterceptorImpl(" +↵ | | 99 | return "FieldInterceptorImpl(" +↵
|
99 | "entityName=" + getEntityName() +↵ | | 100 | "entityName=" + getEntityName() +↵
|
100 | ",dirty=" + isDirty() +↵ | | 101 | ",dirty=" + isDirty() +↵
|
101 | ",uninitializedFields=" + getUninitializedFields() +↵ | | 102 | ",uninitializedFields=" + getUninitializedFields() +↵
|
102 | ')' | | 103 | ')'
|