Revision 1886 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/dynobject/impl/DefaultTags.java
DefaultTags.java | ||
---|---|---|
10 | 10 |
import org.gvsig.tools.dataTypes.CoercionException; |
11 | 11 |
import org.gvsig.tools.dataTypes.DataTypes; |
12 | 12 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
13 |
import org.gvsig.tools.dynobject.DynStruct; |
|
13 | 14 |
import org.gvsig.tools.dynobject.Tags; |
15 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
16 |
import org.gvsig.tools.persistence.Persistent; |
|
17 |
import org.gvsig.tools.persistence.PersistentState; |
|
18 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
|
14 | 19 |
|
15 | 20 |
public class DefaultTags implements Tags { |
16 | 21 |
|
17 |
private Map tags = null; |
|
22 |
private Map<String,Object> tags = null;
|
|
18 | 23 |
|
24 |
public DefaultTags() { |
|
25 |
|
|
26 |
} |
|
27 |
|
|
19 | 28 |
@Override |
20 | 29 |
public Object get(String name) { |
21 | 30 |
if (this.tags == null) { |
... | ... | |
142 | 151 |
public void removeAll() { |
143 | 152 |
tags = null; |
144 | 153 |
} |
154 |
@Override |
|
155 |
public void loadFromState(PersistentState state) |
|
156 |
throws PersistenceException { |
|
157 |
this.tags = null; |
|
158 |
Map<String,Object> elements = state.getMap("elements"); |
|
159 |
if( elements!=null && !elements.isEmpty() ) { |
|
160 |
this.tags = new HashMap<>(); |
|
161 |
for (Map.Entry<String,Object> entry : elements.entrySet()) { |
|
162 |
this.tags.put(entry.getKey(), entry.getValue()); |
|
163 |
} |
|
164 |
} |
|
165 |
} |
|
166 |
|
|
167 |
@Override |
|
168 |
public void saveToState(PersistentState state) throws PersistenceException { |
|
169 |
state.set("elements", this.tags); |
|
170 |
} |
|
171 |
|
|
172 |
private static final String TAGS_PERSISTENCE_DEFINITION_NAME = "Tags"; |
|
173 |
|
|
174 |
public static void registerPersistenceDefinition() { |
|
175 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
|
176 |
|
|
177 |
|
|
178 |
if (manager.getDefinition(TAGS_PERSISTENCE_DEFINITION_NAME) |
|
179 |
== null) { |
|
180 |
DynStruct definition = manager.addDefinition(DefaultTags.class, |
|
181 |
TAGS_PERSISTENCE_DEFINITION_NAME, |
|
182 |
TAGS_PERSISTENCE_DEFINITION_NAME |
|
183 |
+ " persistent definition", |
|
184 |
null, |
|
185 |
null |
|
186 |
); |
|
187 |
definition.addDynFieldMap("elements") |
|
188 |
.setClassOfItems(Object.class); |
|
189 |
} |
|
190 |
} |
|
191 |
|
|
145 | 192 |
} |
Also available in: Unified diff