@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().build(); }
@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().build(); }
@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().build(); }
@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().pojoSwaps(swapClass).build(); } }
@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().pojoSwaps(swapClass).build(); } }
@Override protected Parser applySettings(Parser p) throws Exception { return p.builder().pojoSwaps(ByteArrayBase64Swap.class).build(); }
protected void pojoSwaps(Class<?>...c) { s = s.builder().pojoSwaps(c).build(); if (p != null) p = p.builder().pojoSwaps(c).build(); }
protected void beanDictionary(Object...c) { s = s.builder().beanDictionary(c).build(); if (p != null) p = p.builder().beanDictionary(c).build(); }
protected void beanFilters(Class<?>...c) { s = s.builder().beanFilters(c).build(); if (p != null) p = p.builder().beanFilters(c).build(); }
@Test public void testXMLGregorianCalendar() throws Exception { if (isValidationOnly()) return; GregorianCalendar gc = new GregorianCalendar(); XMLGregorianCalendar c = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); Serializer s = getSerializer().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build(); Parser p = getParser().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build(); Object r = s.serialize(c); XMLGregorianCalendar c2 = p.parse(r, XMLGregorianCalendar.class); assertEquals(c, c2); }
this.parser = ((Parser)o).builder().apply(ps).build(); } else if (o instanceof Class) { this.parser = ContextCache.INSTANCE.create((Class<? extends Parser>)o, ps);
this.parser = ((Parser)o).builder().apply(ps).build(); } else if (o instanceof Class) { this.parser = ContextCache.INSTANCE.create((Class<? extends Parser>)o, ps);
this.parser = ((Parser)o).builder().apply(ps).build(); } else if (o instanceof Class) { this.parser = ContextCache.INSTANCE.create((Class<? extends Parser>)o, ps);
@Test public void testExcludePropertiesUsingBeanFilter() throws Exception { // Skip validation-only tests if (isValidationOnly()) return; Serializer s = getSerializer().builder().beanFilters(E2Filter.class).build(); Parser p = getParser().builder().beanFilters(E2Filter.class).build(); E2 e = new E2().init(); Object r = s.serialize(e); e = p.parse(r, E2.class); assertObjectEquals("{f1:'f1',f3:'f3'}", e); }
@Test public void testSubTypePropertyWithRealPropertyUsingBeanFilter() throws Exception { // Skip validation-only tests if (isValidationOnly()) return; Serializer s = getSerializer().builder().beanFilters(CAFilter.class).build(); Parser p = getParser().builder().beanFilters(CAFilter.class).build(); CA1 c1 = CA1.create(); Object r = s.serialize(c1); CA c = p.parse(r, CA.class); assertTrue(c instanceof CA1); assertObjectEquals("{f0a:'f0a',f0b:'f0b',f1:'f1'}", c); }
@Test public void testPropertiesUsingBeanFilter() throws Exception { JsonSerializer js = JsonSerializer.create().ssq().beanFilters(D2Filter.class).build(); // Skip validation-only tests if (isValidationOnly()) return; Serializer s = getSerializer().builder().beanFilters(D2Filter.class).build(); Parser p = getParser().builder().beanFilters(D2Filter.class).build(); D2 d = new D2().init(); Object r = s.serialize(d); d = p.parse(r, D2.class); assertNull(d.f1); assertObjectEquals("{f3:'f3',f2:'f2'}", d, js); }
@Test public void testSubTypesUsingBeanFilter() throws Exception { JsonSerializer js = JsonSerializer.create().ssq().pojoSwaps(XMLGregorianCalendarSwap.class).build(); // Skip validation-only tests if (isValidationOnly()) return; Serializer s = getSerializer().builder().beanFilters(CFilter.class).pojoSwaps(XMLGregorianCalendarSwap.class).build(); Parser p = getParser().builder().beanFilters(CFilter.class).pojoSwaps(XMLGregorianCalendarSwap.class).build(); C1 c1 = C1.create(); Object r = s.serialize(c1); C c = p.parse(r, C.class); assertTrue(c instanceof C1); assertObjectEquals("{f0:'f0',f1:'f1'}", c, js); C2 c2 = C2.create(); r = s.serialize(c2); c = p.parse(r, C.class); assertTrue(c instanceof C2); assertObjectEquals("{f0:'f0',f2:1}", c, js); C3 c3 = C3.create(); r = s.serialize(c3); c = p.parse(r, C.class); assertTrue(c instanceof C3); assertObjectEquals("{f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", c, js); }
@Test public void testSubTypesUsingAnnotation() throws Exception { JsonSerializer js = JsonSerializer.create().ssq().pojoSwaps(XMLGregorianCalendarSwap.class).addBeanTypes().addRootType().build(); // Skip validation-only tests if (isValidationOnly()) return; Serializer s = getSerializer().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build(); Parser p = getParser().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build(); B1 b1 = B1.create(); Object r = s.serialize(b1); B b = p.parse(r, B.class); assertTrue(b instanceof B1); assertObjectEquals("{_type:'B1',f0:'f0',f1:'f1'}", b, js); B2 b2 = B2.create(); r = s.serialize(b2); b = p.parse(r, B.class); assertTrue(b instanceof B2); assertObjectEquals("{_type:'B2',f0:'f0',f2:1}", b, js); B3 b3 = B3.create(); r = s.serialize(b3); b = p.parse(r, B.class); assertTrue(b instanceof B3); assertObjectEquals("{_type:'B3',f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", b, js); }
@Test public void testInterfaceClassUsingBeanFilter() throws Exception { SerializerBuilder s = getSerializer().builder(); ParserBuilder p = getParser() == null ? null : getParser().builder(); FB2 t; Object r;
Parser p2 = p.builder().trimStrings().build();