New KB Reasoner APIs are required by the IDE:
- getInterfacesDeclaredInType (NodeType name):List<InterfaceDefinition>: returns all the interfaces declared in the given NodeType and its superclasses. Returned interface should contain the name, type and description.
- getOperationsOfInterface (InterfaceType name):List<OperationDefinition>: returns all the operations declared in the given InterfaceType. Returned operations should contain the name and description
- getRequirements(NodeType name):List<RequirementDefinition>: returns all the requirements declared in the given NodeType and its superclasses. Returned requirement should contain the name.
- getNodeTypesOfferingCapability(CapabilityType name):List<NodeType>: returns all the node types that offer a capability given by name.
- getNodeTypesSatisfyingRequirement(RequirementAssignment name, NodeTemplate node):List<NodeType>: returns all the node types that satisfy the requirement given by name for a given node template.
- getRelationshipTypes(CapabilityType name):List<RelationshipType>: returns all the Relationship types whose valid_target_types contains the given CapabilityType
- getCapabilities(NodeType name):List<CapabilityDefinition>: returns all the capabilities declared in the given NodeType and its superclasses. Returned capability should contain the name, type and description.
- getProperties(Type type):List<PropertyDefinition>: returns all the properties defined within a particular type (and its superclassses). This type could be a node type, a capability definition or a requirement definition. If the type is a NodeType, it should be returned all the property definitions declared within the node type, its capabilities and requirement definitions in that concrete type and its superclasses. For each property in returned list, it should be provided the property name, type and description.
- getAttributes(Type type):List<AttributeDefinition>: returns all the attributes defined within a particular type (and its superclassses). This type could be a node type, a capability definition or a requirement definition. If the type is a NodeType, it should be returned all the property definitions declared within the node type, its capabilities and requirement definitions in that concrete type and its superclasses. For each attribute in returned list, it should be provided the attribute name, type and description.
New KB Reasoner APIs are required by the IDE: