test_class.declarator: col = new TestCollector()
test_class.modifier: private final
test_class.original_string: private final TestCollector col = new TestCollector();
test_class.type: TestCollector
test_class.var_name: col
test_class.declarator: mapper = new SimpleMapper()
test_class.modifier: private final
test_class.original_string: private final SimpleMapper mapper = new SimpleMapper();
test_class.type: SimpleMapper
test_class.var_name: mapper
test_class.declarator: root = INITIAL_CONTENT
test_class.modifier: private final
test_class.original_string: private final NodeState root = INITIAL_CONTENT;
test_class.type: NodeState
test_class.var_name: root
test_class.declarator: builder = root.builder()
test_class.modifier: private final
test_class.original_string: private final NodeBuilder builder = root.builder();
test_class.type: NodeBuilder
test_class.var_name: builder
test_class.file: oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/AggregateTest.java
test_class.identifier: AggregateTest
test_case.body: @Test
      public void propOneLevelNamed() throws Exception{
          NodeBuilder rules = builder.child(INDEX_RULES);
          rules.child("nt:folder");
          child(rules, "nt:folder/properties/p1")
                  .setProperty(FulltextIndexConstants.PROP_NAME, "a/p1");
  
          IndexDefinition defn = new IndexDefinition(root, builder.getNodeState(), "/foo");
          Aggregate ag = defn.getApplicableIndexingRule("nt:folder").getAggregate();
  
          NodeBuilder nb = newNode("nt:folder");
          nb.child("a").setProperty("p1", "foo");
          nb.child("a").setProperty("p2", "foo");
          nb.child("b").setProperty("p2", "foo");
  
          ag.collectAggregates(nb.getNodeState(), col);
          assertEquals(1, col.getPropPaths().size());
          assertThat(col.getPropPaths(), hasItems("a/p1"));
      }
test_case.class_method_signature: AggregateTest.propOneLevelNamed()
test_case.full_signature: @Test public void propOneLevelNamed()
test_case.identifier: propOneLevelNamed
test_case.invocations: child child setProperty child getNodeState getAggregate getApplicableIndexingRule newNode setProperty child setProperty child setProperty child collectAggregates getNodeState assertEquals size getPropPaths assertThat getPropPaths hasItems
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void propOneLevelNamed()
focal_class.declarator: MATCH_ALL = "*"
focal_class.modifier: public static final
focal_class.original_string: public static final String MATCH_ALL = "*";
focal_class.type: String
focal_class.var_name: MATCH_ALL
focal_class.declarator: RECURSIVE_AGGREGATION_LIMIT_DEFAULT = 5
focal_class.modifier: public static final
focal_class.original_string: public static final int RECURSIVE_AGGREGATION_LIMIT_DEFAULT = 5;
focal_class.type: int
focal_class.var_name: RECURSIVE_AGGREGATION_LIMIT_DEFAULT
focal_class.declarator: nodeTypeName
focal_class.modifier: private final
focal_class.original_string: private final String nodeTypeName;
focal_class.type: String
focal_class.var_name: nodeTypeName
focal_class.declarator: includes
focal_class.modifier: private final
focal_class.original_string: private final List<? extends Include> includes;
focal_class.type: List<? extends Include>
focal_class.var_name: includes
focal_class.declarator: reAggregationLimit
focal_class.modifier: public final
focal_class.original_string: public final int reAggregationLimit;
focal_class.type: int
focal_class.var_name: reAggregationLimit
focal_class.declarator: relativeNodeIncludes
focal_class.modifier: private final
focal_class.original_string: private final List<NodeInclude> relativeNodeIncludes;
focal_class.type: List<NodeInclude>
focal_class.var_name: relativeNodeIncludes
focal_class.declarator: nodeAggregates
focal_class.modifier: private final
focal_class.original_string: private final boolean nodeAggregates;
focal_class.type: boolean
focal_class.var_name: nodeAggregates
focal_class.file: oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/Aggregate.java
focal_class.identifier: Aggregate
focal_class.class_method_signature: Aggregate.Aggregate(String nodeTypeName)
focal_class.full_signature:   Aggregate(String nodeTypeName)
focal_class.identifier: Aggregate
focal_class.parameters: (String nodeTypeName)
focal_class.signature:  Aggregate(String nodeTypeName)
focal_class.class_method_signature: Aggregate.Aggregate(String nodeTypeName, List<? extends Include> includes)
focal_class.full_signature: public  Aggregate(String nodeTypeName, List<? extends Include> includes)
focal_class.identifier: Aggregate
focal_class.modifiers: public
focal_class.parameters: (String nodeTypeName, List<? extends Include> includes)
focal_class.signature:  Aggregate(String nodeTypeName, List<? extends Include> includes)
focal_class.class_method_signature: Aggregate.Aggregate(String nodeTypeName, List<? extends Include> includes,
                int recursionLimit)
focal_class.full_signature:   Aggregate(String nodeTypeName, List<? extends Include> includes,
                int recursionLimit)
focal_class.identifier: Aggregate
focal_class.parameters: (String nodeTypeName, List<? extends Include> includes,
                int recursionLimit)
focal_class.signature:  Aggregate(String nodeTypeName, List<? extends Include> includes,
                int recursionLimit)
focal_class.class_method_signature: Aggregate.getIncludes()
focal_class.full_signature: public List<? extends Include> getIncludes()
focal_class.identifier: getIncludes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<? extends Include>
focal_class.signature: List<? extends Include> getIncludes()
focal_class.class_method_signature: Aggregate.collectAggregates(NodeState root, ResultCollector collector)
focal_class.full_signature: public void collectAggregates(NodeState root, ResultCollector collector)
focal_class.identifier: collectAggregates
focal_class.modifiers: public
focal_class.parameters: (NodeState root, ResultCollector collector)
focal_class.return: void
focal_class.signature: void collectAggregates(NodeState root, ResultCollector collector)
focal_class.class_method_signature: Aggregate.createMatchers(AggregateRoot root)
focal_class.full_signature: public List<Matcher> createMatchers(AggregateRoot root)
focal_class.identifier: createMatchers
focal_class.modifiers: public
focal_class.parameters: (AggregateRoot root)
focal_class.return: List<Matcher>
focal_class.signature: List<Matcher> createMatchers(AggregateRoot root)
focal_class.class_method_signature: Aggregate.hasRelativeNodeInclude(String nodePath)
focal_class.full_signature: public boolean hasRelativeNodeInclude(String nodePath)
focal_class.identifier: hasRelativeNodeInclude
focal_class.modifiers: public
focal_class.parameters: (String nodePath)
focal_class.return: boolean
focal_class.signature: boolean hasRelativeNodeInclude(String nodePath)
focal_class.class_method_signature: Aggregate.hasNodeAggregates()
focal_class.full_signature: public boolean hasNodeAggregates()
focal_class.identifier: hasNodeAggregates
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasNodeAggregates()
focal_class.class_method_signature: Aggregate.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: Aggregate.matchingType(String nodeTypeName, NodeState nodeState)
focal_class.full_signature: private static boolean matchingType(String nodeTypeName, NodeState nodeState)
focal_class.identifier: matchingType
focal_class.modifiers: private static
focal_class.parameters: (String nodeTypeName, NodeState nodeState)
focal_class.return: boolean
focal_class.signature: boolean matchingType(String nodeTypeName, NodeState nodeState)
focal_class.class_method_signature: Aggregate.collectAggregates(NodeState nodeState, List<Matcher> matchers,
                                            ResultCollector collector)
focal_class.full_signature: private static void collectAggregates(NodeState nodeState, List<Matcher> matchers,
                                            ResultCollector collector)
focal_class.identifier: collectAggregates
focal_class.modifiers: private static
focal_class.parameters: (NodeState nodeState, List<Matcher> matchers,
                                            ResultCollector collector)
focal_class.return: void
focal_class.signature: void collectAggregates(NodeState nodeState, List<Matcher> matchers,
                                            ResultCollector collector)
focal_class.class_method_signature: Aggregate.collectAggregatesForDirectMatchers(NodeState nodeState, List<Matcher> matchers,
                                                             ResultCollector collector)
focal_class.full_signature: private static void collectAggregatesForDirectMatchers(NodeState nodeState, List<Matcher> matchers,
                                                             ResultCollector collector)
focal_class.identifier: collectAggregatesForDirectMatchers
focal_class.modifiers: private static
focal_class.parameters: (NodeState nodeState, List<Matcher> matchers,
                                                             ResultCollector collector)
focal_class.return: void
focal_class.signature: void collectAggregatesForDirectMatchers(NodeState nodeState, List<Matcher> matchers,
                                                             ResultCollector collector)
focal_class.class_method_signature: Aggregate.collectAggregatesForPatternMatchers(NodeState nodeState, List<Matcher> matchers,
                                                              ResultCollector collector)
focal_class.full_signature: private static void collectAggregatesForPatternMatchers(NodeState nodeState, List<Matcher> matchers,
                                                              ResultCollector collector)
focal_class.identifier: collectAggregatesForPatternMatchers
focal_class.modifiers: private static
focal_class.parameters: (NodeState nodeState, List<Matcher> matchers,
                                                              ResultCollector collector)
focal_class.return: void
focal_class.signature: void collectAggregatesForPatternMatchers(NodeState nodeState, List<Matcher> matchers,
                                                              ResultCollector collector)
focal_class.class_method_signature: Aggregate.matchChildren(List<Matcher> matchers, ResultCollector collector,
                                        Iterable<? extends ChildNodeEntry> children)
focal_class.full_signature: private static void matchChildren(List<Matcher> matchers, ResultCollector collector,
                                        Iterable<? extends ChildNodeEntry> children)
focal_class.identifier: matchChildren
focal_class.modifiers: private static
focal_class.parameters: (List<Matcher> matchers, ResultCollector collector,
                                        Iterable<? extends ChildNodeEntry> children)
focal_class.return: void
focal_class.signature: void matchChildren(List<Matcher> matchers, ResultCollector collector,
                                        Iterable<? extends ChildNodeEntry> children)
focal_class.class_method_signature: Aggregate.hasPatternMatcher(List<Matcher> matchers)
focal_class.full_signature: private static boolean hasPatternMatcher(List<Matcher> matchers)
focal_class.identifier: hasPatternMatcher
focal_class.modifiers: private static
focal_class.parameters: (List<Matcher> matchers)
focal_class.return: boolean
focal_class.signature: boolean hasPatternMatcher(List<Matcher> matchers)
focal_class.class_method_signature: Aggregate.createMatchers()
focal_class.full_signature: private List<Matcher> createMatchers()
focal_class.identifier: createMatchers
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: List<Matcher>
focal_class.signature: List<Matcher> createMatchers()
focal_class.class_method_signature: Aggregate.findRelativeNodeIncludes(List<? extends Include> includes)
focal_class.full_signature: private static List<NodeInclude> findRelativeNodeIncludes(List<? extends Include> includes)
focal_class.identifier: findRelativeNodeIncludes
focal_class.modifiers: private static
focal_class.parameters: (List<? extends Include> includes)
focal_class.return: List<NodeInclude>
focal_class.signature: List<NodeInclude> findRelativeNodeIncludes(List<? extends Include> includes)
focal_class.class_method_signature: Aggregate.hasNodeIncludes(List<? extends Include> includes)
focal_class.full_signature: private static boolean hasNodeIncludes(List<? extends Include> includes)
focal_class.identifier: hasNodeIncludes
focal_class.modifiers: private static
focal_class.parameters: (List<? extends Include> includes)
focal_class.return: boolean
focal_class.signature: boolean hasNodeIncludes(List<? extends Include> includes)
focal_class.class_method_signature: Aggregate.computeElements(String path)
focal_class.full_signature: private static String[] computeElements(String path)
focal_class.identifier: computeElements
focal_class.modifiers: private static
focal_class.parameters: (String path)
focal_class.return: String[]
focal_class.signature: String[] computeElements(String path)
focal_method.body: public void collectAggregates(NodeState root, ResultCollector collector) {
          if (matchingType(nodeTypeName, root)) {
              List<Matcher> matchers = createMatchers();
              collectAggregates(root, matchers, collector);
          }
      }
focal_method.class_method_signature: Aggregate.collectAggregates(NodeState root, ResultCollector collector)
focal_method.full_signature: public void collectAggregates(NodeState root, ResultCollector collector)
focal_method.identifier: collectAggregates
focal_method.invocations: matchingType createMatchers collectAggregates
focal_method.modifiers: public
focal_method.parameters: (NodeState root, ResultCollector collector)
focal_method.return: void
focal_method.signature: void collectAggregates(NodeState root, ResultCollector collector)