Java Code Examples for org.yaml.snakeyaml.Yaml#addImplicitResolver()
The following examples show how to use
org.yaml.snakeyaml.Yaml#addImplicitResolver() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ResolverTest.java From snake-yaml with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") public void testAddImplicitResolver() { Yaml yaml = new Yaml(new MyConstructor(), new MyRepresenter()); Pattern regexp = Pattern.compile("\\d\\d-\\d\\d-\\d\\d\\d"); yaml.addImplicitResolver(new Tag(Tag.PREFIX + "Phone"), regexp, "0123456789"); Phone phone1 = new Phone("12-34-567"); Phone phone2 = new Phone("11-22-333"); Phone phone3 = new Phone("44-55-777"); List<Phone> etalonList = new ArrayList<Phone>(); etalonList.add(phone1); etalonList.add(phone2); etalonList.add(phone3); String output = yaml.dump(etalonList); assertEquals("[12-34-567, 11-22-333, 44-55-777]\n", output); List<Phone> parsedList = (List<Phone>) yaml.load(output); assertEquals(3, parsedList.size()); assertEquals(phone1, parsedList.get(0)); assertEquals(phone2, parsedList.get(1)); assertEquals(phone3, parsedList.get(2)); assertEquals(etalonList, parsedList); }
Example 2
Source File: DiceExampleTest.java From snake-yaml with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") public void testImplicitResolver() { Yaml yaml = new Yaml(new DiceConstructor(), new DiceRepresenter()); // the tag must start with a digit yaml.addImplicitResolver(new Tag("!dice"), Pattern.compile("\\d+d\\d+"), "123456789"); // dump Map<String, Dice> treasure = new HashMap<String, Dice>(); treasure.put("treasure", new Dice(10, 20)); String output = yaml.dump(treasure); assertEquals("{treasure: 10d20}\n", output); // load Object data = yaml.load("{damage: 5d10}"); Map<String, Dice> map = (Map<String, Dice>) data; assertEquals(new Dice(5, 10), map.get("damage")); }
Example 3
Source File: DiceExampleTest.java From snake-yaml with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") public void testImplicitResolverWithNull() { Yaml yaml = new Yaml(new DiceConstructor(), new DiceRepresenter()); // the tag may start with anything yaml.addImplicitResolver(new Tag("!dice"), Pattern.compile("\\d+d\\d+"), null); // dump Map<String, Dice> treasure = new HashMap<String, Dice>(); treasure.put("treasure", new Dice(10, 20)); String output = yaml.dump(treasure); assertEquals("{treasure: 10d20}\n", output); // load Object data = yaml.load("{damage: 5d10}"); Map<String, Dice> map = (Map<String, Dice>) data; assertEquals(new Dice(5, 10), map.get("damage")); }
Example 4
Source File: DiceExampleTest.java From snake-yaml with Apache License 2.0 | 5 votes |
public void testImplicitResolverJavaBean() { Yaml yaml = new Yaml(new DiceConstructor(), new DiceRepresenter()); // the tag must start with a digit yaml.addImplicitResolver(new Tag("!dice"), Pattern.compile("\\d+d\\d+"), "123456789"); // dump DiceBean bean = new DiceBean(); bean.treasure = new Dice(10, 20); String output = yaml.dump(bean); assertEquals("!!examples.DiceExampleTest$DiceBean {treasure: 10d20}\n", output); // load Object loaded = yaml.load(output); assertEquals(loaded, bean); }
Example 5
Source File: CustomImplicitResolverTest.java From snake-yaml with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") public void testImplicit() { Yaml yaml = new Yaml(new BigConstructor()); yaml.addImplicitResolver(CUSTOM_TAG, CUSTOM_PATTERN, "-0123456789"); Map<String, Object> obj = (Map<String, Object>) yaml.load("bar: 50%"); assertEquals("0.5", obj.get("bar").toString()); assertEquals(BigDecimal.class, obj.get("bar").getClass()); }
Example 6
Source File: CustomImplicitResolverTest.java From snake-yaml with Apache License 2.0 | 5 votes |
public void testImplicitFailure() { Yaml yaml = new Yaml(new BigConstructor()); yaml.addImplicitResolver(CUSTOM_TAG, Pattern.compile("\\d+%"), "-0123456789"); try { yaml.load("bar: !!float 50%"); fail("Both implicit and explicit are present."); } catch (NumberFormatException e) { assertEquals("For input string: \"50%\"", e.getMessage()); } }
Example 7
Source File: UuidSupportTest.java From snake-yaml with Apache License 2.0 | 5 votes |
@Test public void dumpAsString() { UUID uuid = UUID.randomUUID(); String str = uuid.toString(); Yaml yaml = new Yaml(); yaml.addImplicitResolver(UUID_TAG, UUID_PATTERN, null); String output = yaml.dump(str); assertEquals("'" + str + "'\n", output); assertEquals(str + "\n", yaml.dump(uuid)); }
Example 8
Source File: UuidSupportTest.java From snake-yaml with Apache License 2.0 | 5 votes |
@Test public void loadAsUuid() { Yaml yaml = new Yaml(); yaml.addImplicitResolver(UUID_TAG, UUID_PATTERN, null); UUID uuid = (UUID) yaml.load("7f511847-781a-45df-9c8d-1e32e028b9b3"); assertEquals("7f511847-781a-45df-9c8d-1e32e028b9b3", uuid.toString()); }
Example 9
Source File: ResolverTest.java From snake-yaml with Apache License 2.0 | 5 votes |
public void testAddImplicitResolver2() { Yaml yaml = new Yaml(new PointRepresenter()); Pattern regexp = Pattern.compile("\\d\\d-\\d\\d-\\d\\d\\d"); yaml.addImplicitResolver(new Tag(Tag.PREFIX + "Phone"), regexp, "\0"); Pattern regexp2 = Pattern.compile("x\\d_y\\d"); // try any scalar, and not only those which start with 'x' yaml.addImplicitResolver(new Tag(Tag.PREFIX + "Point"), regexp2, null); Map<String, Object> map = new LinkedHashMap<String, Object>(); map.put("a", new Phone("12-34-567")); map.put("b", new Point(1, 5)); String output = yaml.dump(map); assertEquals("{a: 12-34-567, b: x1_y5}\n", output); }
Example 10
Source File: ImplicitResolverTest.java From snake-yaml with Apache License 2.0 | 5 votes |
public void testMain() { Map<String, String> config = new HashMap<String, String>(); config.put("user.home", "HOME"); Constructor constructor = new ConfigurationConstructor(config); constructor.addTypeDescription(new TypeDescription(TestBean.class, "!testbean")); Yaml yaml = new Yaml(constructor); yaml.addImplicitResolver(CFG, Pattern.compile("\\$\\([a-zA-Z\\d\\u002E\\u005F]+\\)"), "$"); TestBean bean = (TestBean) yaml.load("!testbean {myval: !cfg $(user.home)}"); // System.out.println(bean.toString()); assertEquals("Explicit tag must be respected", "HOME", bean.getMyval()); bean = (TestBean) yaml.load("!testbean {myval: $(user.home)}"); // System.out.println(bean.toString()); assertEquals("Implicit tag must be respected", "HOME", bean.getMyval()); }
Example 11
Source File: YamlSerialization.java From biomedicus with Apache License 2.0 | 5 votes |
public static Yaml createYaml(BidirectionalDictionary bidirectionalDictionary) { Yaml yaml = new Yaml(constructor(bidirectionalDictionary), representer(bidirectionalDictionary)); yaml.addImplicitResolver(new Tag("!cui"), CUI.CUI_PATTERN, "C"); yaml.addImplicitResolver(new Tag("!tui"), TUI.TUI_PATTERN, "T"); yaml.addImplicitResolver(new Tag("!sui"), SUI.SUI_PATTERN, "S"); return yaml; }