@Override final AttributeType<D> asMyType(Concept concept) { return concept.asAttributeType(); }
@Override final AttributeType<D> asCurrentBaseType(Concept other) { return other.asAttributeType(); }
@Override final AttributeType<D> asCurrentType(Concept concept) { return concept.asAttributeType(); }
@Override final AttributeType<D> asSelf(Concept concept) { return concept.asAttributeType(); }
@Override public <V> AttributeType<V> putAttributeType(Label label, AttributeType.DataType<V> dataType) { return client().putAttributeType(label, dataType).asAttributeType(); }
@Override public Collection<PropertyExecutor> define(Var var) throws GraqlQueryException { PropertyExecutor.Method method = executor -> { executor.get(var).asAttributeType().regex(regex()); }; return ImmutableSet.of(PropertyExecutor.builder(method).requires(var).build()); }
@Override public Collection<PropertyExecutor> undefine(Var var) throws GraqlQueryException { PropertyExecutor.Method method = executor -> { AttributeType<Object> attributeType = executor.get(var).asAttributeType(); if (!attributeType.isDeleted() && regex().equals(attributeType.regex())) { attributeType.regex(null); } }; return ImmutableSet.of(PropertyExecutor.builder(method).requires(var).build()); }
public static ConceptMethod<Optional<Concept>> getAttribute(Object value) { return ConceptMethod.builder(ConceptResponseType.OPTIONAL_CONCEPT) .requestSetter(builder -> builder.setGetAttribute(convertValue(value))) .function(concept -> Optional.ofNullable(concept.asAttributeType().getAttribute(value))) .build(); }
public static ConceptMethod<Void> setRegex(Optional<String> regex) { return ConceptMethod.builder(ConceptResponseType.UNIT) .requestSetter(builder -> builder.setSetRegex(GrpcUtil.convertRegex(regex))) .functionVoid(concept -> concept.asAttributeType().setRegex(regex.orElse(null))) .build(); }
@Override public <V> AttributeType<V> putAttributeType(Label label, AttributeType.DataType<V> dataType) { transceiver.send(RequestBuilder.Transaction.putAttributeType(label, dataType)); return RemoteConcept.of(responseOrThrow().getPutAttributeTypeRes().getAttributeType(), this).asAttributeType(); }
public static ConceptMethod<Concept> putAttribute(Object value) { return ConceptMethod.builder(ConceptResponseType.CONCEPT) .requestSetter(builder -> builder.setPutAttribute(convertValue(value))) .function(concept -> concept.asAttributeType().putAttribute(value)) .build(); }
@Override public Collection<PropertyExecutor> define(Var var) throws GraqlQueryException { PropertyExecutor.Method method = executor -> { Type entityTypeConcept = executor.get(var).asType(); AttributeType attributeTypeConcept = executor.get(resourceType().var()).asAttributeType(); if (required()) { entityTypeConcept.key(attributeTypeConcept); } else { entityTypeConcept.has(attributeTypeConcept); } }; return ImmutableSet.of(PropertyExecutor.builder(method).requires(var, resourceType().var()).build()); }
@Override public Collection<PropertyExecutor> undefine(Var var) throws GraqlQueryException { PropertyExecutor.Method method = executor -> { Type type = executor.get(var).asType(); AttributeType<?> attributeType = executor.get(resourceType().var()).asAttributeType(); if (!type.isDeleted() && !attributeType.isDeleted()) { if (required()) { type.unkey(attributeType); } else { type.unhas(attributeType); } } }; return ImmutableSet.of(PropertyExecutor.builder(method).requires(var, resourceType().var()).build()); }
return GET_ATTRIBUTE_TYPES; case SETATTRIBUTETYPE: return setAttributeType(converter.convert(conceptMethod.getSetAttributeType()).asAttributeType()); case UNSETATTRIBUTETYPE: return unsetAttributeType(converter.convert(conceptMethod.getUnsetAttributeType()).asAttributeType()); case GETKEYTYPES: return GET_KEY_TYPES; return getRolePlayersByRoles(roles); case SETKEYTYPE: return setKeyType(converter.convert(conceptMethod.getSetKeyType()).asAttributeType()); case UNSETKEYTYPE: return unsetKeyType(converter.convert(conceptMethod.getUnsetKeyType()).asAttributeType()); case SETABSTRACT: return setAbstract(conceptMethod.getSetAbstract());