Revision 1886 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/dynobject/impl/DefaultTags.java

View differences:

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