Set extends Value { public static Set of(Object... elements) { return new Set(Arrays.stream(elements).map(Atom::new).collect( Collectors.toSet())); } Set();  Set(java.util.Set<Atom> set); static Set of(Object... elements); static Set of(Atom... elements); static Set of(java.util.Set<T> set); java.util.Set<Atom> getSet(); @Override boolean equals(Object other); @Override int hashCode(); @Override String toString(); final String setString; }
@Test public void testAtomSetDeserialization() throws IOException { assertEquals(Set.of("string1"), JsonUtil.deserialize("\"string1\"", Set.class)); assertEquals(Set.of(42L), JsonUtil.deserialize("42", Set.class)); assertEquals(Set.of(true), JsonUtil.deserialize("true", Set.class)); UUID uuid = UUID.randomUUID(); assertEquals(Set.of(new Uuid(uuid)), JsonUtil.deserialize("[\"uuid\", \"" + uuid + "\"]", Set.class)); assertEquals(Set.of(4.2), JsonUtil.deserialize("4.2", Set.class)); }