@Override public <T> Optional<List<T>> getObjectList(DataQuery path, Class<T> objectClass) { return getViewList(path).flatMap(viewList -> Sponge.getDataManager().getTranslator(objectClass).map(serializer -> viewList.stream() .map(serializer::translate) .collect(Collectors.toList()) ) ); }
@Override public <T> Optional<T> getObject(DataQuery path, Class<T> objectClass) { return getView(path).flatMap(view -> Sponge.getDataManager().getTranslator(objectClass) .flatMap(serializer -> Optional.of(serializer.translate(view))) ); }
} else { if (manager != null) { final Optional<? extends DataTranslator<?>> translatorOptional = manager.getTranslator(object.getClass()); if (translatorOptional.isPresent()) { DataTranslator translator = translatorOptional.get();
private static void initGame() throws Exception { // Need to mock the service Sadly, this takes the most amount of time DataManager service = mock(DataManager.class); DataBuilder<SimpleData> builder = new SimpleDataBuilder(); TestHooks.setInstance("dataManager", service); when(service.getBuilder(SimpleData.class)).thenReturn(Optional.of(builder)); when(service.getTranslator(Mockito.any())).thenReturn(Optional.empty()); }
} else if (value instanceof CatalogType) { return set(path, ((CatalogType) value).getId()); } else if (manager != null && manager.getTranslator(value.getClass()).isPresent()) { DataTranslator serializer = manager.getTranslator(value.getClass()).get(); final DataContainer container = serializer.translate(value); checkArgument(!container.equals(this), "Cannot insert self-referencing Objects!");
@Override public <T> Optional<List<T>> getObjectList(DataQuery path, Class<T> objectClass) { return getViewList(path).flatMap(viewList -> Sponge.getDataManager().getTranslator(objectClass).map(serializer -> viewList.stream() .map(serializer::translate) .collect(Collectors.toList()) ) ); }
@Override public <T> Optional<T> getObject(DataQuery path, Class<T> objectClass) { return getView(path).flatMap(view -> Sponge.getDataManager().getTranslator(objectClass) .flatMap(serializer -> Optional.of(serializer.translate(view))) ); }
} else { if (manager != null) { final Optional<? extends DataTranslator<?>> translatorOptional = manager.getTranslator(object.getClass()); if (translatorOptional.isPresent()) { DataTranslator translator = translatorOptional.get();
} else if (value instanceof CatalogType) { return set(path, ((CatalogType) value).getId()); } else if (manager != null && manager.getTranslator(value.getClass()).isPresent()) { DataTranslator serializer = manager.getTranslator(value.getClass()).get(); final DataContainer container = serializer.translate(value); checkArgument(!container.equals(this), "Cannot insert self-referencing Objects!");