]> git.argeo.org Git - gpl/argeo-slc.git/blob - TreeSPathFieldHandler.java
ad117ff14149d5f81a8aad7b2c1360cd921f18f4
[gpl/argeo-slc.git] / 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 }