Class ClassifyingNodeTracker

  • All Implemented Interfaces:
    NodeTracker

    public class ClassifyingNodeTracker
    extends java.lang.Object
    implements NodeTracker
    • Field Detail

      • nodeClassifier

        @NotNull
        protected final @NotNull ClassificationBag<java.lang.Class<?>,​Node> nodeClassifier
      • host

        @Nullable
        private final @Nullable NodeTracker host
      • exclusionMap

        @NotNull
        private final @NotNull OrderedMap<java.lang.Class<?>,​java.util.Set<java.lang.Class<?>>> exclusionMap
      • exclusionSet

        @NotNull
        private final @NotNull OrderedSet<java.lang.Class<?>> exclusionSet
      • nodeAncestryMap

        @NotNull
        private final @NotNull java.util.HashMap<java.lang.Integer,​java.util.BitSet> nodeAncestryMap
    • Constructor Detail

      • ClassifyingNodeTracker

        public ClassifyingNodeTracker​(@Nullable
                                      @Nullable NodeTracker host,
                                      @NotNull
                                      @NotNull java.util.Map<java.lang.Class<? extends Node>,​java.util.Set<java.lang.Class<?>>> exclusionMap)
    • Method Detail

      • getExclusionMap

        @NotNull
        public @NotNull OrderedMap<java.lang.Class<?>,​java.util.Set<java.lang.Class<?>>> getExclusionMap()
      • getNodeAncestryMap

        @NotNull
        public @NotNull java.util.HashMap<java.lang.Integer,​java.util.BitSet> getNodeAncestryMap()
      • getExclusionSet

        @NotNull
        public @NotNull OrderedSet<java.lang.Class<?>> getExclusionSet()
      • getNodeClassifier

        @NotNull
        public @NotNull ClassificationBag<java.lang.Class<?>,​Node> getNodeClassifier()
      • validateLinked

        private void validateLinked​(Node node)
      • validateUnlinked

        private void validateUnlinked​(@NotNull
                                      @NotNull Node node)
      • getCategoryItems

        @NotNull
        public <X> @NotNull ReversibleIterable<X> getCategoryItems​(@NotNull
                                                                   @NotNull java.lang.Class<? extends X> nodeClass,
                                                                   @NotNull
                                                                   @NotNull java.util.Set<java.lang.Class<?>> classes)