1
package org.simpleframework.xml.strategy;
3
import java.io.StringWriter;
4
import java.util.ArrayList;
5
import java.util.HashMap;
9
import org.simpleframework.xml.Default;
10
import org.simpleframework.xml.Root;
11
import org.simpleframework.xml.ValidationTestCase;
12
import org.simpleframework.xml.core.PersistenceException;
13
import org.simpleframework.xml.core.Persister;
14
import org.simpleframework.xml.stream.InputNode;
15
import org.simpleframework.xml.stream.NodeMap;
16
import org.simpleframework.xml.stream.OutputNode;
18
public class VisitorStrategyTest extends ValidationTestCase {
22
private static class VisitorExample {
23
private List<String> items;
24
private Map<String, String> map;
25
public VisitorExample() {
26
this.map = new HashMap<String, String>();
27
this.items = new ArrayList<String>();
29
public void put(String name, String value) {
32
public void add(String value) {
37
public void testStrategy() throws Exception {
38
Visitor visitor = new ClassToNamespaceVisitor();
39
Strategy strategy = new VisitorStrategy(visitor);
40
Persister persister = new Persister(strategy);
41
VisitorExample item = new VisitorExample();
42
StringWriter writer = new StringWriter();
49
persister.write(item, writer);
51
String text = writer.toString();
52
System.out.println(text);
54
VisitorExample recover = persister.read(VisitorExample.class, text);
56
assertTrue(recover.map.containsKey("1"));
57
assertTrue(recover.map.containsKey("2"));
58
assertTrue(recover.items.contains("A"));
59
assertTrue(recover.items.contains("B"));
61
validate(recover, persister);