]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/castor/structure/tree/TreeSPathFieldHandler.java
Introduce org.argeo.slc.specs
[gpl/argeo-slc.git] / runtime / org.argeo.slc.specs / src / main / java / org / argeo / slc / castor / structure / tree / TreeSPathFieldHandler.java
1 package org.argeo.slc.castor.structure.tree;
2
3 import org.exolab.castor.mapping.AbstractFieldHandler;
4 import org.exolab.castor.mapping.MapItem;
5
6 import org.argeo.slc.core.structure.tree.TreeSPath;
7
8 public class TreeSPathFieldHandler extends AbstractFieldHandler {
9
10 @Override
11 public Object getValue(Object object) throws IllegalStateException {
12 MapItem part = (MapItem) object;
13 return ((TreeSPath) part.getKey()).getAsUniqueString();
14 }
15
16 @Override
17 public Object newInstance(Object parent) throws IllegalStateException {
18 return null;
19 }
20
21 @Override
22 public Object newInstance(Object parent, Object[] args)
23 throws IllegalStateException {
24 return null;
25 }
26
27 @Override
28 public void resetValue(Object object) throws IllegalStateException,
29 IllegalArgumentException {
30 MapItem part = (MapItem) object;
31 part.setKey(null);
32 }
33
34 @Override
35 public void setValue(Object object, Object value)
36 throws IllegalStateException, IllegalArgumentException {
37 MapItem part = (MapItem) object;
38 part.setKey(TreeSPath.parseToCreatePath(value.toString()));
39 }
40
41 }