@Override public void add(String documentName, Object value) { requireNonNull(documentName, "documentName is required"); requireNonNull(value, "value is required"); this.add(Document.of(documentName, value)); }
protected <T> void betweenImpl(T valueA, T valueB) { requireNonNull(valueA, "valueA is required"); requireNonNull(valueB, "valueB is required"); DocumentCondition newCondition = DocumentCondition.between(Document.of(name, asList(valueA, valueB))); appendCondition(newCondition); }
static DefaultDocumentCondition and(DocumentCondition... conditions) { requireNonNull(conditions, "condition is required"); Document document = Document.of(AND.getNameField(), asList(conditions)); return DefaultDocumentCondition.of(document, AND); }
private Document getConditions(DocumentCondition columnCondition, Condition condition) { List<DocumentCondition> conditions = new ArrayList<>(document.get(new TypeReference<List<DocumentCondition>>() { })); conditions.add(columnCondition); return Document.of(condition.getNameField(), conditions); }
@Override public void add(String documentName, Value value) { requireNonNull(documentName, "documentName is required"); requireNonNull(value, "value is required"); remove(documentName); this.add(Document.of(documentName, value)); }
protected <T> void ltImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition.lt(Document.of(name, value)); appendCondition(newCondition); }
protected <T> void eqImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition.eq(Document.of(name, value)); appendCondition(newCondition); }
protected <T> void lteImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition.lte(Document.of(name, value)); appendCondition(newCondition); }
protected void likeImpl(String value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition.like(Document.of(name, value)); appendCondition(newCondition); }
protected <T> void gteImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition.gte(Document.of(name, value)); appendCondition(newCondition); }
protected <T> void inImpl(Iterable<T> values) { requireNonNull(values, "values is required"); DocumentCondition newCondition = DocumentCondition.in(Document.of(name, values)); appendCondition(newCondition); }
static DocumentEntity convert(ODocument document) { DocumentEntity entity = DocumentEntity.of(document.getClassName()); Stream.of(document.fieldNames()) .map(f -> Document.of(f, convert((Object) document.field(f)))) .forEach(entity::add); entity.add(Document.of(RID_FIELD, document.field(RID_FIELD).toString())); entity.add(Document.of(VERSION_FIELD, document.getVersion())); return entity; }
protected <T> void betweenImpl(T valueA, T valueB) { requireNonNull(valueA, "valueA is required"); requireNonNull(valueB, "valueB is required"); DocumentCondition newCondition = DocumentCondition .between(Document.of(representation.getColumnField(name), asList(getValue(valueA), getValue(valueB)))); appendCondition(newCondition); }
protected <T> void gtImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition .gt(Document.of(representation.getColumnField(name), getValue(value))); appendCondition(newCondition); }
protected <T> void gteImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition .gte(Document.of(representation.getColumnField(name), getValue(value))); appendCondition(newCondition); }
protected <T> void lteImpl(T value) { requireNonNull(value, "value is required"); DocumentCondition newCondition = DocumentCondition .lte(Document.of(representation.getColumnField(name), getValue(value))); appendCondition(newCondition); }
@Override public DocumentCondition negate() { if (NOT.equals(this.condition)) { return this.document.get(DocumentCondition.class); } else { Document document = Document.of(NOT.getNameField(), this); return new DefaultDocumentCondition(document, NOT); } }
@Override public DocumentEntity insert(DocumentEntity entity) throws NullPointerException { requireNonNull(entity, "entity is required"); JsonObject jsonObject = convert(entity); Document id = entity.find(ID_FIELD) .orElseThrow(() -> new CouchbaseNoKeyFoundException(entity.toString())); String prefix = getPrefix(id, entity.getName()); jsonObject.put(KEY_FIELD, prefix); bucket.upsert(JsonDocument.create(prefix, jsonObject)); entity.add(Document.of(ID_FIELD, prefix)); return entity; }