use of jakarta.nosql.Params in project jnosql-diana by eclipse.
the class ParamsBinderTest method shouldConvert.
@Test
public void shouldConvert() {
Method method = Stream.of(PersonRepository.class.getMethods()).filter(m -> m.getName().equals("findByAge")).findFirst().get();
ClassMapping classMapping = mappings.get(Person.class);
RepositoryColumnObserverParser parser = new RepositoryColumnObserverParser(classMapping);
paramsBinder = new ParamsBinder(classMapping, converters);
SelectMethodProvider selectMethodFactory = SelectMethodProvider.get();
SelectQuery selectQuery = selectMethodFactory.apply(method, classMapping.getName());
SelectQueryConverter converter = ServiceLoaderProvider.get(SelectQueryConverter.class);
ColumnQueryParams columnQueryParams = converter.apply(selectQuery, parser);
Params params = columnQueryParams.getParams();
Object[] args = { 10 };
paramsBinder.bind(params, args, method);
ColumnQuery query = columnQueryParams.getQuery();
ColumnCondition columnCondition = query.getCondition().get();
Value value = columnCondition.getColumn().getValue();
assertEquals(10, value.get());
}
use of jakarta.nosql.Params in project jnosql-diana by eclipse.
the class ColumnParamsTest method shouldAddParameter.
@Test
public void shouldAddParameter() {
Params params = Params.newParams();
Value name = params.add("name");
assertNotNull(name);
MatcherAssert.<List<String>>assertThat(params.getParametersNames(), containsInAnyOrder("name"));
}
use of jakarta.nosql.Params in project jnosql-diana by eclipse.
the class ParamValueTest method shouldInstanceOf.
@Test
public void shouldInstanceOf() {
Params params = Params.newParams();
Value name = params.add("name");
assertTrue(name.isInstanceOf(Integer.class));
params.bind("name", "Ada Lovelace");
assertTrue(name.isInstanceOf(String.class));
assertFalse(name.isInstanceOf(Integer.class));
}
use of jakarta.nosql.Params in project jnosql-diana by eclipse.
the class ParamValueTest method shouldAddParameter.
@Test
public void shouldAddParameter() {
Params params = Params.newParams();
Value name = params.add("name");
assertNotNull(name);
MatcherAssert.<List<String>>assertThat(params.getParametersNames(), containsInAnyOrder("name"));
}
use of jakarta.nosql.Params in project jnosql-diana by eclipse.
the class BaseColumnRepository method getQuery.
protected ColumnQuery getQuery(Method method, Object[] args) {
SelectMethodProvider selectMethodFactory = SelectMethodProvider.get();
SelectQuery selectQuery = selectMethodFactory.apply(method, getClassMapping().getName());
ColumnQueryParams queryParams = SELECT_CONVERTER.apply(selectQuery, getParser());
ColumnQuery query = queryParams.getQuery();
Params params = queryParams.getParams();
getParamsBinder().bind(params, args, method);
return getQuerySorts(args, query);
}
Aggregations