use of org.jnosql.artemis.Converters in project jnosql-artemis by eclipse.
the class RepositoryAsyncColumnBean method create.
@Override
public RepositoryAsync create(CreationalContext<RepositoryAsync> creationalContext) {
ClassRepresentations classRepresentations = getInstance(ClassRepresentations.class);
ColumnTemplateAsync repository = provider.isEmpty() ? getInstance(ColumnTemplateAsync.class) : getInstance(ColumnTemplateAsync.class, provider);
Reflections reflections = getInstance(Reflections.class);
Converters converters = getInstance(Converters.class);
ColumnRepositoryAsyncProxy handler = new ColumnRepositoryAsyncProxy(repository, classRepresentations, type, reflections, converters);
return (RepositoryAsync) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
use of org.jnosql.artemis.Converters in project jnosql-artemis by eclipse.
the class RepositoryColumnBean method create.
@Override
public Repository create(CreationalContext<Repository> creationalContext) {
ClassRepresentations classRepresentations = getInstance(ClassRepresentations.class);
ColumnTemplate repository = provider.isEmpty() ? getInstance(ColumnTemplate.class) : getInstance(ColumnTemplate.class, provider);
Reflections reflections = getInstance(Reflections.class);
Converters converters = getInstance(Converters.class);
ColumnRepositoryProxy handler = new ColumnRepositoryProxy(repository, classRepresentations, type, reflections, converters);
return (Repository) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
use of org.jnosql.artemis.Converters in project jnosql-artemis by eclipse.
the class RepositoryDocumentBean method create.
@Override
public Repository create(CreationalContext<Repository> creationalContext) {
ClassRepresentations classRepresentations = getInstance(ClassRepresentations.class);
DocumentTemplate repository = provider.isEmpty() ? getInstance(DocumentTemplate.class) : getInstance(DocumentTemplate.class, provider);
Reflections reflections = getInstance(Reflections.class);
Converters converters = getInstance(Converters.class);
DocumentRepositoryProxy handler = new DocumentRepositoryProxy(repository, classRepresentations, type, reflections, converters);
return (Repository) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
use of org.jnosql.artemis.Converters in project jnosql-artemis by eclipse.
the class ConverterUtil method getValue.
public static Object getValue(Object value, ClassRepresentation representation, String name, Converters converters) {
Optional<FieldRepresentation> fieldOptional = representation.getFieldRepresentation(name);
if (fieldOptional.isPresent()) {
FieldRepresentation field = fieldOptional.get();
Field nativeField = field.getNativeField();
if (!nativeField.getType().equals(value.getClass())) {
return field.getConverter().map(converters::get).map(a -> a.convertToDatabaseColumn(value)).orElseGet(() -> Value.of(value).get(nativeField.getType()));
}
return field.getConverter().map(converters::get).map(a -> a.convertToDatabaseColumn(value)).orElse(value);
}
return value;
}
use of org.jnosql.artemis.Converters in project jnosql-artemis by eclipse.
the class DocumentRepositoryAsyncBean method create.
@Override
public RepositoryAsync create(CreationalContext<RepositoryAsync> creationalContext) {
ClassRepresentations classRepresentations = getInstance(ClassRepresentations.class);
DocumentTemplateAsync repository = provider.isEmpty() ? getInstance(DocumentTemplateAsync.class) : getInstance(DocumentTemplateAsync.class, provider);
Reflections reflections = getInstance(Reflections.class);
Converters converters = getInstance(Converters.class);
DocumentRepositoryAsyncProxy handler = new DocumentRepositoryAsyncProxy(repository, classRepresentations, type, reflections, converters);
return (RepositoryAsync) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
Aggregations