@Override public GraphCentricQueryBuilder has(String key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); Preconditions.checkArgument(predicate.isValidCondition(condition), "Invalid condition: %s", condition); constraints.add(new PredicateCondition<String, TitanElement>(key, predicate, condition)); return this; }
private Q addConstraint(String type, TitanPredicate rel, Object value) { Preconditions.checkArgument(type != null && StringUtils.isNotBlank(type) && rel != null); //Treat special cases if (type.equals(ImplicitKey.ADJACENT_ID.name())) { Preconditions.checkArgument(rel == Cmp.EQUAL, "Only equality constraints are supported for %s", type); long vertexId = ElementUtils.getVertexId(value); Preconditions.checkArgument(vertexId > 0, "Expected valid vertex id: %s", value); return adjacent(getVertex(vertexId)); } else if (type.equals(ImplicitKey.ID.name())) { RelationIdentifier rid = ElementUtils.getEdgeId(value); Preconditions.checkArgument(rid != null, "Expected valid relation id: %s", value); return addConstraint(ImplicitKey.TITANID.name(), rel, rid.getRelationId()); } else { Preconditions.checkArgument(rel.isValidCondition(value), "Invalid condition provided: " + value); } if (constraints == NO_CONSTRAINTS) constraints = new ArrayList<PredicateCondition<String, TitanRelation>>(5); constraints.add(new PredicateCondition<String, TitanRelation>(type, rel, value)); return getThis(); }
assert predicate.isValidCondition(value); Preconditions.checkArgument(key.dataType()==Object.class || predicate.isValidValueType(key.dataType()), "Data type of key is not compatible with condition"); } else { //its a label
@Override public GraphCentricQueryBuilder has(String key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); Preconditions.checkArgument(predicate.isValidCondition(condition), "Invalid condition: %s", condition); constraints.add(new PredicateCondition<String, TitanElement>(key, predicate, condition)); return this; }
private GraphCentricQueryBuilder has(String key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); Preconditions.checkArgument(predicate.isValidCondition(condition), "Invalid condition: %s", condition); constraints.add(new PredicateCondition<String, TitanElement>(key, predicate, condition)); return this; }
private GraphCentricQueryBuilder has(String key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); Preconditions.checkArgument(predicate.isValidCondition(condition), "Invalid condition: %s", condition); constraints.add(new PredicateCondition<String, TitanElement>(key, predicate, condition)); return this; }
private GraphCentricQueryBuilder has(String key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); Preconditions.checkArgument(predicate.isValidCondition(condition), "Invalid condition: %s", condition); constraints.add(new PredicateCondition<>(key, predicate, condition)); return this; }
private Q addConstraint(String type, TitanPredicate rel, Object value) { Preconditions.checkArgument(type != null && StringUtils.isNotBlank(type) && rel != null); //Treat special cases if (type.equals(ImplicitKey.ADJACENT_ID.name())) { Preconditions.checkArgument(rel == Cmp.EQUAL, "Only equality constraints are supported for %s", type); long vertexId = ElementUtils.getVertexId(value); Preconditions.checkArgument(vertexId > 0, "Expected valid vertex id: %s", value); return adjacent(getVertex(vertexId)); } else if (type.equals(ImplicitKey.ID.name())) { RelationIdentifier rid = ElementUtils.getEdgeId(value); Preconditions.checkArgument(rid != null, "Expected valid relation id: %s", value); return addConstraint(ImplicitKey.TITANID.name(), rel, rid.getRelationId()); } else { Preconditions.checkArgument(rel.isValidCondition(value), "Invalid condition provided: " + value); } if (constraints == NO_CONSTRAINTS) constraints = new ArrayList<PredicateCondition<String, TitanRelation>>(5); constraints.add(new PredicateCondition<String, TitanRelation>(type, rel, value)); return getThis(); }
assert predicate.isValidCondition(value); Preconditions.checkArgument(key.dataType()==Object.class || predicate.isValidValueType(key.dataType()), "Data type of key is not compatible with condition"); } else { //its a label
assert predicate.isValidCondition(value); Preconditions.checkArgument(key.getDataType()==Object.class || predicate.isValidValueType(key.getDataType()), "Data type of key is not compatible with condition"); } else { //its a label