use of jakarta.nosql.Value in project jnosql-diana by eclipse.
the class DocumentTest method shouldReturnGetClass.
@Test
public void shouldReturnGetClass() {
Value value = Value.of("text");
Document document = Document.of("name", value);
assertEquals(value.get(String.class), document.get(String.class));
}
use of jakarta.nosql.Value in project jnosql-diana by eclipse.
the class DefaultDocumentCondition method in.
static DocumentCondition in(Document document) {
Objects.requireNonNull(document, "document is required");
Value value = document.getValue();
checkInClause(value);
return new DefaultDocumentCondition(document, Condition.IN);
}
use of jakarta.nosql.Value in project jnosql-diana by eclipse.
the class GetQueryParser method query.
Stream<Value> query(String query, BucketManager manager) {
GetQuery getQuery = provider.apply(query);
Params params = Params.newParams();
List<Value> values = getQuery.getKeys().stream().map(k -> Values.getValue(k, params)).collect(toList());
if (params.isNotEmpty()) {
throw new QueryException("To run a query with a parameter use a PrepareStatement instead.");
}
return values.stream().map(Value::get).map(manager::get).filter(Optional::isPresent).map(Optional::get);
}
use of jakarta.nosql.Value in project jnosql-diana by eclipse.
the class GetQueryParser method prepare.
public KeyValuePreparedStatement prepare(String query, BucketManager manager) {
GetQuery getQuery = provider.apply(query);
Params params = Params.newParams();
List<Value> values = getQuery.getKeys().stream().map(k -> Values.getValue(k, params)).collect(toList());
return DefaultKeyValuePreparedStatement.get(values, manager, params, query);
}
use of jakarta.nosql.Value in project jnosql-diana by eclipse.
the class DefaultKeyValuePreparedStatement method getSingleResult.
@Override
public Optional<Value> getSingleResult() {
Stream<Value> entities = getResult();
final Iterator<Value> iterator = entities.iterator();
if (!iterator.hasNext()) {
return Optional.empty();
}
final Value next = iterator.next();
if (!iterator.hasNext()) {
return Optional.of(next);
}
throw new NonUniqueResultException("The select returns more than one entity, select: " + query);
}
Aggregations