1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.jdo.model.jdo;
19
20 /***
21 * This interface provides constants denoting JDO specific
22 * modifiers for fields of a persistence-capable class.
23 *
24 * @author Michael Bouschen
25 */
26 public class PersistenceModifier
27 {
28 /*** Constant representing an unspecified field modifier */
29 public static final int UNSPECIFIED = 0;
30
31 /*** Constant representing a none field modifier. */
32 public static final int NONE = 1;
33
34 /*** Constant representing a transactional field modifier. */
35 public static final int TRANSACTIONAL = 2;
36
37 /*** Constant representing a persistence field modifier. */
38 public static final int PERSISTENT = 4;
39
40 /*** Constant representing a possibly persistence field modifier. */
41 public static final int POSSIBLY_PERSISTENT = 8;
42
43 /***
44 * Returns a string representation of the specified persistence modifer.
45 * @param persistenceModifier the persistence modifer, one of
46 * {@link #UNSPECIFIED}, {@link #NONE}, {@link #PERSISTENT},
47 * {@link #TRANSACTIONAL}, or {@link #POSSIBLY_PERSISTENT}.
48 * @return the string representation of the PersistenceModifer constant
49 */
50 public static String toString(int persistenceModifier)
51 {
52 switch (persistenceModifier) {
53 case NONE :
54 return "none";
55 case TRANSACTIONAL :
56 return "transactional";
57 case PERSISTENT:
58 return "persistent";
59 case POSSIBLY_PERSISTENT:
60 return "possibly-persistent";
61 default:
62 return "UNSPECIFIED";
63 }
64 }
65
66 /***
67 * Returns the PersistenceModifier constant for the specified string.
68 * @param persistenceModifier the string representation of the persistence
69 * modifer
70 * @return the persistence modifer, one of {@link #UNSPECIFIED},
71 * {@link #NONE}, {@link #PERSISTENT} or {@link #TRANSACTIONAL}
72 **/
73 public static int toPersistenceModifier(String persistenceModifier)
74 {
75 if ((persistenceModifier == null) || (persistenceModifier.length() == 0))
76 return UNSPECIFIED;
77
78 if ("none".equals(persistenceModifier))
79 return NONE;
80 else if ("transactional".equals(persistenceModifier))
81 return TRANSACTIONAL;
82 else if ("persistent".equals(persistenceModifier))
83 return PERSISTENT;
84 else if ("possibly-persistent".equals(persistenceModifier))
85 return POSSIBLY_PERSISTENT;
86 else
87 return UNSPECIFIED;
88 }
89 }