Interface HasComponents

All Known Subinterfaces:
HasIncrementalSignatureGenerationSupport, OWLAnnotation, OWLAnnotationAssertionAxiom, OWLAnnotationAxiom, OWLAnnotationObject, OWLAnnotationProperty, OWLAnnotationPropertyDomainAxiom, OWLAnnotationPropertyRangeAxiom, OWLAnnotationSubject, OWLAnnotationValue, OWLAnonymousClassExpression, OWLAnonymousIndividual, OWLAsymmetricObjectPropertyAxiom, OWLAxiom, OWLBooleanClassExpression, OWLCardinalityRestriction<F>, OWLClass, OWLClassAssertionAxiom, OWLClassAxiom, OWLClassExpression, OWLDataAllValuesFrom, OWLDataCardinalityRestriction, OWLDataComplementOf, OWLDataExactCardinality, OWLDataHasValue, OWLDataIntersectionOf, OWLDataMaxCardinality, OWLDataMinCardinality, OWLDataOneOf, OWLDataProperty, OWLDataPropertyAssertionAxiom, OWLDataPropertyAxiom, OWLDataPropertyCharacteristicAxiom, OWLDataPropertyDomainAxiom, OWLDataPropertyExpression, OWLDataPropertyRangeAxiom, OWLDataRange, OWLDataRestriction, OWLDataSomeValuesFrom, OWLDatatype, OWLDatatypeDefinitionAxiom, OWLDatatypeRestriction, OWLDataUnionOf, OWLDeclarationAxiom, OWLDifferentIndividualsAxiom, OWLDisjointClassesAxiom, OWLDisjointDataPropertiesAxiom, OWLDisjointObjectPropertiesAxiom, OWLDisjointUnionAxiom, OWLEntity, OWLEquivalentClassesAxiom, OWLEquivalentDataPropertiesAxiom, OWLEquivalentObjectPropertiesAxiom, OWLFacetRestriction, OWLFunctionalDataPropertyAxiom, OWLFunctionalObjectPropertyAxiom, OWLHasKeyAxiom, OWLHasValueRestriction<V>, OWLIndividual, OWLIndividualAxiom, OWLInverseFunctionalObjectPropertyAxiom, OWLInverseObjectPropertiesAxiom, OWLIrreflexiveObjectPropertyAxiom, OWLLiteral, OWLLogicalAxiom, OWLLogicalEntity, OWLMutableOntology, OWLNamedIndividual, OWLNamedObject, OWLNaryAxiom<C>, OWLNaryBooleanClassExpression, OWLNaryClassAxiom, OWLNaryDataRange, OWLNaryIndividualAxiom, OWLNaryPropertyAxiom<P>, OWLNegativeDataPropertyAssertionAxiom, OWLNegativeObjectPropertyAssertionAxiom, OWLObject, OWLObjectAllValuesFrom, OWLObjectCardinalityRestriction, OWLObjectComplementOf, OWLObjectExactCardinality, OWLObjectHasSelf, OWLObjectHasValue, OWLObjectIntersectionOf, OWLObjectInverseOf, OWLObjectMaxCardinality, OWLObjectMinCardinality, OWLObjectOneOf, OWLObjectProperty, OWLObjectPropertyAssertionAxiom, OWLObjectPropertyAxiom, OWLObjectPropertyCharacteristicAxiom, OWLObjectPropertyDomainAxiom, OWLObjectPropertyExpression, OWLObjectPropertyRangeAxiom, OWLObjectRestriction, OWLObjectSomeValuesFrom, OWLObjectUnionOf, OWLOntology, OWLPrimitive, OWLProperty, OWLPropertyAssertionAxiom<P,O>, OWLPropertyAssertionObject, OWLPropertyAxiom, OWLPropertyDomain, OWLPropertyDomainAxiom<P>, OWLPropertyExpression, OWLPropertyRange, OWLPropertyRangeAxiom<P,R>, OWLQuantifiedDataRestriction, OWLQuantifiedObjectRestriction, OWLQuantifiedRestriction<F>, OWLReflexiveObjectPropertyAxiom, OWLRestriction, OWLSameIndividualAxiom, OWLSubAnnotationPropertyOfAxiom, OWLSubClassOfAxiom, OWLSubDataPropertyOfAxiom, OWLSubObjectPropertyOfAxiom, OWLSubPropertyAxiom<P>, OWLSubPropertyChainOfAxiom, OWLSymmetricObjectPropertyAxiom, OWLTransitiveObjectPropertyAxiom, OWLUnaryPropertyAxiom<P>, SWRLArgument, SWRLAtom, SWRLBinaryAtom<A,B>, SWRLBuiltInAtom, SWRLClassAtom, SWRLDArgument, SWRLDataPropertyAtom, SWRLDataRangeAtom, SWRLDifferentIndividualsAtom, SWRLIArgument, SWRLIndividualArgument, SWRLLiteralArgument, SWRLObject, SWRLObjectPropertyAtom, SWRLRule, SWRLSameIndividualAtom, SWRLUnaryAtom<A>, SWRLVariable
All Known Implementing Classes:
ConcurrentOWLOntologyImpl, IRI, OWL2DatatypeImpl, OWLAnnotationAssertionAxiomImpl, OWLAnnotationImpl, OWLAnnotationImplNotAnnotated, OWLAnnotationPropertyDomainAxiomImpl, OWLAnnotationPropertyImpl, OWLAnnotationPropertyRangeAxiomImpl, OWLAnonymousClassExpressionImpl, OWLAnonymousIndividualImpl, OWLAsymmetricObjectPropertyAxiomImpl, OWLAxiomImpl, OWLAxiomIndexImpl, OWLCardinalityRestrictionImpl, OWLClassAssertionAxiomImpl, OWLClassAxiomImpl, OWLClassExpressionImpl, OWLClassImpl, OWLDataAllValuesFromImpl, OWLDataCardinalityRestrictionImpl, OWLDataComplementOfImpl, OWLDataExactCardinalityImpl, OWLDataHasValueImpl, OWLDataIntersectionOfImpl, OWLDataMaxCardinalityImpl, OWLDataMinCardinalityImpl, OWLDataOneOfImpl, OWLDataPropertyAssertionAxiomImpl, OWLDataPropertyCharacteristicAxiomImpl, OWLDataPropertyDomainAxiomImpl, OWLDataPropertyImpl, OWLDataPropertyRangeAxiomImpl, OWLDataSomeValuesFromImpl, OWLDatatypeDefinitionAxiomImpl, OWLDatatypeImpl, OWLDatatypeRestrictionImpl, OWLDataUnionOfImpl, OWLDeclarationAxiomImpl, OWLDifferentIndividualsAxiomImpl, OWLDisjointClassesAxiomImpl, OWLDisjointDataPropertiesAxiomImpl, OWLDisjointObjectPropertiesAxiomImpl, OWLDisjointUnionAxiomImpl, OWLEquivalentClassesAxiomImpl, OWLEquivalentDataPropertiesAxiomImpl, OWLEquivalentObjectPropertiesAxiomImpl, OWLFacetRestrictionImpl, OWLFunctionalDataPropertyAxiomImpl, OWLFunctionalObjectPropertyAxiomImpl, OWLHasKeyAxiomImpl, OWLImmutableOntologyImpl, OWLIndividualAxiomImpl, OWLIndividualImpl, OWLIndividualRelationshipAxiomImpl, OWLInverseFunctionalObjectPropertyAxiomImpl, OWLInverseObjectPropertiesAxiomImpl, OWLIrreflexiveObjectPropertyAxiomImpl, OWLLiteralImpl, OWLLiteralImplBoolean, OWLLiteralImplDouble, OWLLiteralImplFloat, OWLLiteralImplInteger, OWLLiteralImplLong, OWLLiteralImplNoCompression, OWLLiteralImplPlain, OWLLiteralImplString, OWLLogicalAxiomImpl, OWLNamedIndividualImpl, OWLNaryBooleanClassExpressionImpl, OWLNaryClassAxiomImpl, OWLNaryDataRangeImpl, OWLNaryIndividualAxiomImpl, OWLNaryPropertyAxiomImpl, OWLNegativeDataPropertyAssertionAxiomImpl, OWLNegativeObjectPropertyAssertionAxiomImpl, OWLObjectAllValuesFromImpl, OWLObjectCardinalityRestrictionImpl, OWLObjectComplementOfImpl, OWLObjectExactCardinalityImpl, OWLObjectHasSelfImpl, OWLObjectHasValueImpl, OWLObjectImpl, OWLObjectIntersectionOfImpl, OWLObjectInverseOfImpl, OWLObjectMaxCardinalityImpl, OWLObjectMinCardinalityImpl, OWLObjectOneOfImpl, OWLObjectPropertyAssertionAxiomImpl, OWLObjectPropertyCharacteristicAxiomImpl, OWLObjectPropertyDomainAxiomImpl, OWLObjectPropertyImpl, OWLObjectPropertyRangeAxiomImpl, OWLObjectSomeValuesFromImpl, OWLObjectUnionOfImpl, OWLOntologyImpl, OWLPropertyAxiomImpl, OWLPropertyDomainAxiomImpl, OWLPropertyRangeAxiomImpl, OWLQuantifiedDataRestrictionImpl, OWLQuantifiedObjectRestrictionImpl, OWLQuantifiedRestrictionImpl, OWLReflexiveObjectPropertyAxiomImpl, OWLSameIndividualAxiomImpl, OWLSubAnnotationPropertyOfAxiomImpl, OWLSubClassOfAxiomImpl, OWLSubDataPropertyOfAxiomImpl, OWLSubObjectPropertyOfAxiomImpl, OWLSubPropertyAxiomImpl, OWLSubPropertyChainAxiomImpl, OWLSymmetricObjectPropertyAxiomImpl, OWLTransitiveObjectPropertyAxiomImpl, OWLUnaryPropertyAxiomImpl, OWLValueRestrictionImpl, SWRLAtomImpl, SWRLBinaryAtomImpl, SWRLBuiltInAtomImpl, SWRLClassAtomImpl, SWRLDataPropertyAtomImpl, SWRLDataRangeAtomImpl, SWRLDifferentIndividualsAtomImpl, SWRLIndividualArgumentImpl, SWRLLiteralArgumentImpl, SWRLObjectPropertyAtomImpl, SWRLRuleImpl, SWRLSameIndividualAtomImpl, SWRLUnaryAtomImpl, SWRLVariableImpl

public interface HasComponents
An interface for objects that have a set of components - this is useful for all those situations where a generic action has to be performed on all components of an object, such as hashcode and equals computations, or rendering in a syntax.
  • Method Details

    • components

      Stream<?> components()
      Returns:
      components as a stream. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().
    • componentsAnnotationsFirst

      default Stream<?> componentsAnnotationsFirst()
      Returns:
      components as a stream; for objects that can have annotations on them, annotation streams appear first. This is useful in renderers. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().
    • componentsWithoutAnnotations

      default Stream<?> componentsWithoutAnnotations()
      Returns:
      components as a stream; for objects that can have annotations on them, these are skipped. This is useful for comparing axioms without taking annotations into account. Note: annotations on nested objects are not affected. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().