public static ConceptMethod<Void> setKeyType(AttributeType<?> attributeType) { return ConceptMethod.builder(ConceptResponseType.UNIT) .requestSetter(builder -> builder.setSetKeyType(convert(attributeType))) .functionVoid(concept -> concept.asType().key(attributeType)) .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()); }