/** * Registers new type with this configuration instance. * @param type {@link Class} type to register * @return <code>true</code> in case type was registered, <code>false</code> in case type was registered already */ public synchronized boolean registerType(Class<?> type) { if (!isRegisteredType(type)) { processClass(type); return true; } return false; }
/** * Creates new ConverterConfiguration. * @param classes list of mapped classes */ public ConverterConfiguration(Class<?>... classes) { for (Class<?> clazz : classes) { registerType(clazz); } }
/** * Creates new JSONAPIConverterFactory. * @param mapper {@link ObjectMapper} raw data mapper * @param classes classes to be handled by this factory instance */ public JSONAPIConverterFactory(ObjectMapper mapper, Class<?>... classes) { this.deserializer = new ResourceConverter(mapper, classes); this.serializer = this.deserializer; }
@Override public T convert(ResponseBody responseBody) throws IOException { if (isCollection) { return (T) parser.readDocumentCollection(responseBody.byteStream(), clazz).get(); } else { return (T) parser.readDocument(responseBody.byteStream(), clazz).get(); } } }
/** * Converts rawdata input into a collection of requested output objects. * @param data raw data input * @param clazz target type * @param <T> type * @return collection of converted elements * @throws RuntimeException in case conversion fails */ @Deprecated public <T> List<T> readObjectCollection(byte [] data, Class<T> clazz) { return readDocumentCollection(data, clazz).get(); }
/** * Converts raw data input into requested target type. * @param data raw data * @param clazz target object * @param <T> type * @return converted object * @throws RuntimeException in case conversion fails */ @Deprecated public <T> T readObject(byte [] data, Class<T> clazz) { return readDocument(data, clazz).get(); }
/** * Registers new type to be used with this converter instance. * @param type {@link Class} type to register * @return <code>true</code> if type was registed, else <code>false</code> (in case type was registered already or * type is not eligible for registering ie. missing required annotations) */ public boolean registerType(Class<?> type) { if (!configuration.isRegisteredType(type) && ConverterConfiguration.isEligibleType(type)) { return configuration.registerType(type); } return false; }
/** * Serializes provided {@link JSONAPIDocument} into JSON API Spec compatible byte representation. * @param documentCollection {@link JSONAPIDocument} document collection to serialize * @return serialized content in bytes * @throws DocumentSerializationException thrown in case serialization fails */ public byte [] writeDocumentCollection(JSONAPIDocument<? extends Iterable<?>> documentCollection) throws DocumentSerializationException { return writeDocumentCollection(documentCollection, null); }
/** * Checks if provided type is registered with this converter instance. * @param type class to check * @return returns <code>true</code> if type is registered, else <code>false</code> */ public boolean isRegisteredType(Class<?> type) { return configuration.isRegisteredType(type); }
/** * Serializes provided {@link JSONAPIDocument} into JSON API Spec compatible byte representation. * @param document {@link JSONAPIDocument} document to serialize * @return serialized content in bytes * @throws DocumentSerializationException thrown in case serialization fails */ public byte [] writeDocument(JSONAPIDocument<?> document) throws DocumentSerializationException { return writeDocument(document, null); }
@Override public T convert(ResponseBody responseBody) throws IOException { if (isCollection) { return (T) parser.readDocumentCollection(responseBody.byteStream(), clazz).get(); } else { return (T) parser.readDocument(responseBody.byteStream(), clazz).get(); } } }
/** * Converts rawdata input into a collection of requested output objects. * @param data raw data input * @param clazz target type * @param <T> type * @return collection of converted elements * @throws RuntimeException in case conversion fails */ @Deprecated public <T> List<T> readObjectCollection(byte [] data, Class<T> clazz) { return readDocumentCollection(data, clazz).get(); }
/** * Converts raw data input into requested target type. * @param data raw data * @param clazz target object * @param <T> type * @return converted object * @throws RuntimeException in case conversion fails */ @Deprecated public <T> T readObject(byte [] data, Class<T> clazz) { return readDocument(data, clazz).get(); }
/** * Registers new type to be used with this converter instance. * @param type {@link Class} type to register * @return <code>true</code> if type was registed, else <code>false</code> (in case type was registered already or * type is not eligible for registering ie. missing required annotations) */ public boolean registerType(Class<?> type) { if (!configuration.isRegisteredType(type) && ConverterConfiguration.isEligibleType(type)) { return configuration.registerType(type); } return false; }
/** * Registers new type with this configuration instance. * @param type {@link Class} type to register * @return <code>true</code> in case type was registered, <code>false</code> in case type was registered already */ public synchronized boolean registerType(Class<?> type) { if (!isRegisteredType(type)) { processClass(type); return true; } return false; }
/** * Creates new JSONAPIConverterFactory. * @param mapper {@link ObjectMapper} raw data mapper * @param classes classes to be handled by this factory instance */ public JSONAPIConverterFactory(ObjectMapper mapper, Class<?>... classes) { this.deserializer = new ResourceConverter(mapper, classes); this.serializer = this.deserializer; }
/** * Creates new ConverterConfiguration. * @param classes list of mapped classes */ public ConverterConfiguration(Class<?>... classes) { for (Class<?> clazz : classes) { registerType(clazz); } }
/** * Serializes provided {@link JSONAPIDocument} into JSON API Spec compatible byte representation. * @param documentCollection {@link JSONAPIDocument} document collection to serialize * @return serialized content in bytes * @throws DocumentSerializationException thrown in case serialization fails */ public byte [] writeDocumentCollection(JSONAPIDocument<? extends Iterable<?>> documentCollection) throws DocumentSerializationException { return writeDocumentCollection(documentCollection, null); }
/** * Checks if provided type is registered with this converter instance. * @param type class to check * @return returns <code>true</code> if type is registered, else <code>false</code> */ public boolean isRegisteredType(Class<?> type) { return configuration.isRegisteredType(type); }
/** * Serializes provided {@link JSONAPIDocument} into JSON API Spec compatible byte representation. * @param document {@link JSONAPIDocument} document to serialize * @return serialized content in bytes * @throws DocumentSerializationException thrown in case serialization fails */ public byte [] writeDocument(JSONAPIDocument<?> document) throws DocumentSerializationException { return writeDocument(document, null); }