test_class.declarator: DEFAULT_INCLUDES = FilteringNodeState.ALL
test_class.modifier: private static final
test_class.original_string: private static final Set<String> DEFAULT_INCLUDES = FilteringNodeState.ALL;
test_class.type: Set<String>
test_class.var_name: DEFAULT_INCLUDES
test_class.declarator: DEFAULT_EXCLUDES = FilteringNodeState.NONE
test_class.modifier: private static final
test_class.original_string: private static final Set<String> DEFAULT_EXCLUDES = FilteringNodeState.NONE;
test_class.type: Set<String>
test_class.var_name: DEFAULT_EXCLUDES
test_class.declarator: rootNodeState
test_class.modifier: private
test_class.original_string: private NodeState rootNodeState;
test_class.type: NodeState
test_class.var_name: rootNodeState
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeStateTest.java
test_class.identifier: FilteringNodeStateTest
test_case.body: @Test
      public void shouldDelegatePropertyCount() {
          final NodeState decorated = wrap("/", rootNodeState, null, of("/content/foo/de"), null, null);
  
          assertEquals(1, getNodeState(decorated, "/content").getPropertyCount());
          assertEquals(0, getNodeState(decorated, "/content/foo").getPropertyCount());
      }
test_case.class_method_signature: FilteringNodeStateTest.shouldDelegatePropertyCount()
test_case.full_signature: @Test public void shouldDelegatePropertyCount()
test_case.identifier: shouldDelegatePropertyCount
test_case.invocations: wrap of assertEquals getPropertyCount getNodeState assertEquals getPropertyCount getNodeState
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldDelegatePropertyCount()
focal_class.declarator: ALL = ImmutableSet.of("/")
focal_class.modifier: public static final
focal_class.original_string: public static final Set<String> ALL = ImmutableSet.of("/");
focal_class.type: Set<String>
focal_class.var_name: ALL
focal_class.declarator: NONE = ImmutableSet.of()
focal_class.modifier: public static final
focal_class.original_string: public static final Set<String> NONE = ImmutableSet.of();
focal_class.type: Set<String>
focal_class.var_name: NONE
focal_class.declarator: path
focal_class.modifier: private final
focal_class.original_string: private final String path;
focal_class.type: String
focal_class.var_name: path
focal_class.declarator: includedPaths
focal_class.modifier: private final
focal_class.original_string: private final Set<String> includedPaths;
focal_class.type: Set<String>
focal_class.var_name: includedPaths
focal_class.declarator: excludedPaths
focal_class.modifier: private final
focal_class.original_string: private final Set<String> excludedPaths;
focal_class.type: Set<String>
focal_class.var_name: excludedPaths
focal_class.declarator: fragmentPaths
focal_class.modifier: private final
focal_class.original_string: private final Set<String> fragmentPaths;
focal_class.type: Set<String>
focal_class.var_name: fragmentPaths
focal_class.declarator: excludedFragments
focal_class.modifier: private final
focal_class.original_string: private final Set<String> excludedFragments;
focal_class.type: Set<String>
focal_class.var_name: excludedFragments
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeState.java
focal_class.identifier: FilteringNodeState
focal_class.class_method_signature: FilteringNodeState.wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_class.full_signature: @NotNull public static NodeState wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_class.identifier: wrap
focal_class.modifiers: @NotNull public static
focal_class.parameters: (
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_class.return: NodeState
focal_class.signature: NodeState wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_class.class_method_signature: FilteringNodeState.FilteringNodeState(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @NotNull final Set<String> includedPaths,
              @NotNull final Set<String> excludedPaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.full_signature: private  FilteringNodeState(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @NotNull final Set<String> includedPaths,
              @NotNull final Set<String> excludedPaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.identifier: FilteringNodeState
focal_class.modifiers: private
focal_class.parameters: (
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @NotNull final Set<String> includedPaths,
              @NotNull final Set<String> excludedPaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.signature:  FilteringNodeState(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @NotNull final Set<String> includedPaths,
              @NotNull final Set<String> excludedPaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.class_method_signature: FilteringNodeState.decorateChild(@NotNull final String name, @NotNull final NodeState child)
focal_class.full_signature: @NotNull @Override protected NodeState decorateChild(@NotNull final String name, @NotNull final NodeState child)
focal_class.identifier: decorateChild
focal_class.modifiers: @NotNull @Override protected
focal_class.parameters: (@NotNull final String name, @NotNull final NodeState child)
focal_class.return: NodeState
focal_class.signature: NodeState decorateChild(@NotNull final String name, @NotNull final NodeState child)
focal_class.class_method_signature: FilteringNodeState.hideChild(@NotNull final String name, @NotNull final NodeState delegateChild)
focal_class.full_signature: @Override protected boolean hideChild(@NotNull final String name, @NotNull final NodeState delegateChild)
focal_class.identifier: hideChild
focal_class.modifiers: @Override protected
focal_class.parameters: (@NotNull final String name, @NotNull final NodeState delegateChild)
focal_class.return: boolean
focal_class.signature: boolean hideChild(@NotNull final String name, @NotNull final NodeState delegateChild)
focal_class.class_method_signature: FilteringNodeState.decorateProperty(@NotNull final PropertyState propertyState)
focal_class.full_signature: @Override protected PropertyState decorateProperty(@NotNull final PropertyState propertyState)
focal_class.identifier: decorateProperty
focal_class.modifiers: @Override protected
focal_class.parameters: (@NotNull final PropertyState propertyState)
focal_class.return: PropertyState
focal_class.signature: PropertyState decorateProperty(@NotNull final PropertyState propertyState)
focal_class.class_method_signature: FilteringNodeState.isHidden(
              @NotNull final String path,
              @NotNull final Set<String> includes,
              @NotNull final Set<String> excludes,
              @NotNull final Set<String> excludedFragments
      )
focal_class.full_signature: private static boolean isHidden(
              @NotNull final String path,
              @NotNull final Set<String> includes,
              @NotNull final Set<String> excludes,
              @NotNull final Set<String> excludedFragments
      )
focal_class.identifier: isHidden
focal_class.modifiers: private static
focal_class.parameters: (
              @NotNull final String path,
              @NotNull final Set<String> includes,
              @NotNull final Set<String> excludes,
              @NotNull final Set<String> excludedFragments
      )
focal_class.return: boolean
focal_class.signature: boolean isHidden(
              @NotNull final String path,
              @NotNull final Set<String> includes,
              @NotNull final Set<String> excludes,
              @NotNull final Set<String> excludedFragments
      )
focal_class.class_method_signature: FilteringNodeState.hasHiddenDescendants(
              @NotNull final String path,
              @NotNull final Set<String> includePaths,
              @NotNull final Set<String> excludePaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.full_signature: private static boolean hasHiddenDescendants(
              @NotNull final String path,
              @NotNull final Set<String> includePaths,
              @NotNull final Set<String> excludePaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.identifier: hasHiddenDescendants
focal_class.modifiers: private static
focal_class.parameters: (
              @NotNull final String path,
              @NotNull final Set<String> includePaths,
              @NotNull final Set<String> excludePaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.return: boolean
focal_class.signature: boolean hasHiddenDescendants(
              @NotNull final String path,
              @NotNull final Set<String> includePaths,
              @NotNull final Set<String> excludePaths,
              @NotNull final Set<String> fragmentPaths,
              @NotNull final Set<String> excludedFragments
      )
focal_class.class_method_signature: FilteringNodeState.isIncluded(@NotNull final String path, @NotNull final Set<String> includePaths)
focal_class.full_signature: private static boolean isIncluded(@NotNull final String path, @NotNull final Set<String> includePaths)
focal_class.identifier: isIncluded
focal_class.modifiers: private static
focal_class.parameters: (@NotNull final String path, @NotNull final Set<String> includePaths)
focal_class.return: boolean
focal_class.signature: boolean isIncluded(@NotNull final String path, @NotNull final Set<String> includePaths)
focal_class.class_method_signature: FilteringNodeState.isExcluded(@NotNull final String path, @NotNull final Set<String> excludePaths, @NotNull final Set<String> excludedFragments)
focal_class.full_signature: private static boolean isExcluded(@NotNull final String path, @NotNull final Set<String> excludePaths, @NotNull final Set<String> excludedFragments)
focal_class.identifier: isExcluded
focal_class.modifiers: private static
focal_class.parameters: (@NotNull final String path, @NotNull final Set<String> excludePaths, @NotNull final Set<String> excludedFragments)
focal_class.return: boolean
focal_class.signature: boolean isExcluded(@NotNull final String path, @NotNull final Set<String> excludePaths, @NotNull final Set<String> excludedFragments)
focal_class.class_method_signature: FilteringNodeState.isAncestorOfAnyPath(@NotNull final String ancestor, @NotNull final Set<String> paths)
focal_class.full_signature: private static boolean isAncestorOfAnyPath(@NotNull final String ancestor, @NotNull final Set<String> paths)
focal_class.identifier: isAncestorOfAnyPath
focal_class.modifiers: private static
focal_class.parameters: (@NotNull final String ancestor, @NotNull final Set<String> paths)
focal_class.return: boolean
focal_class.signature: boolean isAncestorOfAnyPath(@NotNull final String ancestor, @NotNull final Set<String> paths)
focal_class.class_method_signature: FilteringNodeState.isDescendantOfAnyPath(@NotNull final String descendant, @NotNull final Set<String> paths)
focal_class.full_signature: private static boolean isDescendantOfAnyPath(@NotNull final String descendant, @NotNull final Set<String> paths)
focal_class.identifier: isDescendantOfAnyPath
focal_class.modifiers: private static
focal_class.parameters: (@NotNull final String descendant, @NotNull final Set<String> paths)
focal_class.return: boolean
focal_class.signature: boolean isDescendantOfAnyPath(@NotNull final String descendant, @NotNull final Set<String> paths)
focal_class.class_method_signature: FilteringNodeState.containsAnyFragment(@NotNull final String path, @NotNull final Set<String> fragments)
focal_class.full_signature: private static boolean containsAnyFragment(@NotNull final String path, @NotNull final Set<String> fragments)
focal_class.identifier: containsAnyFragment
focal_class.modifiers: private static
focal_class.parameters: (@NotNull final String path, @NotNull final Set<String> fragments)
focal_class.return: boolean
focal_class.signature: boolean containsAnyFragment(@NotNull final String path, @NotNull final Set<String> fragments)
focal_class.class_method_signature: FilteringNodeState.defaultIfEmpty(@Nullable Set<T> value, @NotNull Set<T> defaultValue)
focal_class.full_signature: @NotNull private static Set<T> defaultIfEmpty(@Nullable Set<T> value, @NotNull Set<T> defaultValue)
focal_class.identifier: defaultIfEmpty
focal_class.modifiers: @NotNull private static
focal_class.parameters: (@Nullable Set<T> value, @NotNull Set<T> defaultValue)
focal_class.return: Set<T>
focal_class.signature: Set<T> defaultIfEmpty(@Nullable Set<T> value, @NotNull Set<T> defaultValue)
focal_class.class_method_signature: FilteringNodeState.isEmpty(@Nullable final Set<T> set)
focal_class.full_signature: private static boolean isEmpty(@Nullable final Set<T> set)
focal_class.identifier: isEmpty
focal_class.modifiers: private static
focal_class.parameters: (@Nullable final Set<T> set)
focal_class.return: boolean
focal_class.signature: boolean isEmpty(@Nullable final Set<T> set)
focal_class.superclass: extends AbstractDecoratedNodeState
focal_method.body: @NotNull
      public static NodeState wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      ) {
          final Set<String> includes = defaultIfEmpty(includePaths, ALL);
          final Set<String> excludes = defaultIfEmpty(excludePaths, NONE);
          final Set<String> safeFragmentPaths = defaultIfEmpty(fragmentPaths, NONE);
          final Set<String> safeExcludedFragments = defaultIfEmpty(excludedFragments, NONE);
          if (hasHiddenDescendants(path, includes, excludes, safeFragmentPaths, safeExcludedFragments)) {
              return new FilteringNodeState(path, delegate, includes, excludes, fragmentPaths, safeExcludedFragments);
          }
          return delegate;
      }
focal_method.class_method_signature: FilteringNodeState.wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_method.full_signature: @NotNull public static NodeState wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_method.identifier: wrap
focal_method.invocations: defaultIfEmpty defaultIfEmpty defaultIfEmpty defaultIfEmpty hasHiddenDescendants
focal_method.modifiers: @NotNull public static
focal_method.parameters: (
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )
focal_method.return: NodeState
focal_method.signature: NodeState wrap(
              @NotNull final String path,
              @NotNull final NodeState delegate,
              @Nullable final Set<String> includePaths,
              @Nullable final Set<String> excludePaths,
              @Nullable final Set<String> fragmentPaths,
              @Nullable final Set<String> excludedFragments
      )