1
2
3
4
5
6
7 package gov.bnl.gums.account;
8
9 import java.lang.ref.SoftReference;
10
11 import gov.bnl.gums.configuration.Configuration;
12 import gov.bnl.gums.GridUser;
13
14
15
16
17
18
19
20
21
22 public abstract class AccountMapper {
23
24
25
26 static public String getTypeStatic() {
27 return "abstract";
28 }
29
30 private String name = "";
31 private String description = "";
32 private SoftReference configurationRef = null;
33
34
35
36
37 public AccountMapper() {
38 }
39
40
41
42
43
44
45 public AccountMapper(Configuration configuration) {
46 this.configurationRef = new SoftReference(configuration);
47 }
48
49
50
51
52
53
54
55 public AccountMapper(Configuration configuration, String name) {
56 this.configurationRef = new SoftReference(configuration);
57 this.name = name;
58 }
59
60
61
62
63
64
65
66 public abstract AccountMapper clone(Configuration configuration);
67
68
69
70
71 public Configuration getConfiguration() {
72 if (configurationRef==null)
73 return null;
74 return (Configuration)configurationRef.get();
75 }
76
77
78
79
80 public String getDescription() {
81 return description;
82 }
83
84
85
86
87 public String getName() {
88 return name;
89 }
90
91
92
93
94 public String getType() {
95 return "abstract";
96 }
97
98
99
100
101
102
103 public abstract String mapUser(GridUser user, boolean createNew);
104
105 public String mapUser(String userDN, boolean createNew) {
106 GridUser user = new GridUser();
107 user.setCertificateDN(userDN);
108 return mapUser(user, createNew);
109 }
110
111
112
113
114 public void setConfiguration(Configuration configuration) {
115 this.configurationRef = new SoftReference(configuration);
116 }
117
118
119
120
121 public void setName(String name) {
122 this.name = name;
123 }
124
125
126
127
128 public void setDescription(String description) {
129 this.description = description;
130 }
131
132
133
134
135
136
137
138
139 public abstract String toString(String bgColor);
140
141
142
143
144
145
146 public abstract String toXML();
147 }