synchronized RecordBuilderFactory recordBuilderFactory() { if (recordBuilderFactory == null) { recordBuilderFactory = manager.getRecordBuilderFactoryProvider().apply("test"); } return recordBuilderFactory; } }
public static Object lookup(final String type) { if (type.equals(JsonBuilderFactory.class.getName())) { return ComponentManager.instance().getJsonpBuilderFactory(); } if (type.equals(JsonReaderFactory.class.getName())) { return ComponentManager.instance().getJsonpReaderFactory(); } if (type.equals(JsonGeneratorFactory.class.getName())) { return ComponentManager.instance().getJsonpGeneratorFactory(); } if (type.equals(JsonParserFactory.class.getName())) { return ComponentManager.instance().getJsonpParserFactory(); } if (type.equals(JsonWriterFactory.class.getName())) { return ComponentManager.instance().getJsonpWriterFactory(); } if (type.equals(RecordBuilderFactory.class.getName())) { final Function<String, RecordBuilderFactory> provider = ComponentManager.instance().getRecordBuilderFactoryProvider(); return provider.apply(null); } throw new IllegalArgumentException(type + " can't be a global service, didn't you pass a null plugin?"); } }
private Object map(final Object next) { if (next == null || Record.class.isInstance(next)) { // directly ok return next; } if (String.class.isInstance(next) || next.getClass().isPrimitive()) { // primitives return next; } if (jsonb == null) { synchronized (this) { if (jsonb == null) { jsonb = JsonbBuilder .create(new JsonbConfig() .withAdapters(new MultipleFormatDateAdapter()) .setProperty("johnzon.cdi.activated", false)); } } } return new RecordConverters() .toRecord(next, () -> jsonb, () -> ComponentManager.instance().getRecordBuilderFactoryProvider().apply(null)); } }