test_class.declarator: root = INITIAL_CONTENT
test_class.modifier: private
test_class.original_string: private NodeState root = INITIAL_CONTENT;
test_class.type: NodeState
test_class.var_name: root
test_class.declarator: builder = EMPTY_NODE.builder()
test_class.modifier: private
test_class.original_string: private NodeBuilder builder = EMPTY_NODE.builder();
test_class.type: NodeBuilder
test_class.var_name: builder
test_class.declarator: defnb = new LuceneIndexDefinitionBuilder()
test_class.modifier: private
test_class.original_string: private LuceneIndexDefinitionBuilder defnb = new LuceneIndexDefinitionBuilder();
test_class.type: LuceneIndexDefinitionBuilder
test_class.var_name: defnb
test_class.declarator: indexPath  = "/oak:index/foo"
test_class.modifier: private
test_class.original_string: private String indexPath  = "/oak:index/foo";
test_class.type: String
test_class.var_name: indexPath
test_class.declarator: callback = new PropertyIndexUpdateCallback(indexPath, builder, root)
test_class.modifier: private
test_class.original_string: private PropertyIndexUpdateCallback callback = new PropertyIndexUpdateCallback(indexPath, builder, root);
test_class.type: PropertyIndexUpdateCallback
test_class.var_name: callback
test_class.file: oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/HybridPropertyIndexLookupTest.java
test_class.identifier: HybridPropertyIndexLookupTest
test_case.body: @Test
      public void pathResultAbsolutePath() throws Exception{
          defnb.indexRule("nt:base").property("foo").sync();
  
          propertyUpdated("/a", "foo", "bar");
  
          String propertyName = "foo";
          FilterImpl filter = createFilter();
          filter.restrictProperty("foo", Operator.EQUAL, newString("bar"));
  
          HybridPropertyIndexLookup lookup = new HybridPropertyIndexLookup(indexPath, builder.getNodeState());
          Iterable<String> paths = lookup.query(filter, propertyName,
                  filter.getPropertyRestriction(propertyName));
  
          assertThat(ImmutableList.copyOf(paths), containsInAnyOrder("/a"));
      }
test_case.class_method_signature: HybridPropertyIndexLookupTest.pathResultAbsolutePath()
test_case.full_signature: @Test public void pathResultAbsolutePath()
test_case.identifier: pathResultAbsolutePath
test_case.invocations: sync property indexRule propertyUpdated createFilter restrictProperty newString getNodeState query getPropertyRestriction assertThat copyOf containsInAnyOrder
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void pathResultAbsolutePath()
focal_class.declarator: log = LoggerFactory.getLogger(HybridPropertyIndexLookup.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(HybridPropertyIndexLookup.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: indexPath
focal_class.modifier: private final
focal_class.original_string: private final String indexPath;
focal_class.type: String
focal_class.var_name: indexPath
focal_class.declarator: indexState
focal_class.modifier: private final
focal_class.original_string: private final NodeState indexState;
focal_class.type: NodeState
focal_class.var_name: indexState
focal_class.declarator: pathPrefix
focal_class.modifier: private final
focal_class.original_string: private final String pathPrefix;
focal_class.type: String
focal_class.var_name: pathPrefix
focal_class.declarator: prependPathPrefix
focal_class.modifier: private final
focal_class.original_string: private final boolean prependPathPrefix;
focal_class.type: boolean
focal_class.var_name: prependPathPrefix
focal_class.file: oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/HybridPropertyIndexLookup.java
focal_class.identifier: HybridPropertyIndexLookup
focal_class.class_method_signature: HybridPropertyIndexLookup.HybridPropertyIndexLookup(String indexPath, NodeState indexState)
focal_class.full_signature: public  HybridPropertyIndexLookup(String indexPath, NodeState indexState)
focal_class.identifier: HybridPropertyIndexLookup
focal_class.modifiers: public
focal_class.parameters: (String indexPath, NodeState indexState)
focal_class.signature:  HybridPropertyIndexLookup(String indexPath, NodeState indexState)
focal_class.class_method_signature: HybridPropertyIndexLookup.HybridPropertyIndexLookup(String indexPath, NodeState indexState,
                                       String pathPrefix, boolean prependPathPrefix)
focal_class.full_signature: public  HybridPropertyIndexLookup(String indexPath, NodeState indexState,
                                       String pathPrefix, boolean prependPathPrefix)
focal_class.identifier: HybridPropertyIndexLookup
focal_class.modifiers: public
focal_class.parameters: (String indexPath, NodeState indexState,
                                       String pathPrefix, boolean prependPathPrefix)
focal_class.signature:  HybridPropertyIndexLookup(String indexPath, NodeState indexState,
                                       String pathPrefix, boolean prependPathPrefix)
focal_class.class_method_signature: HybridPropertyIndexLookup.query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_class.full_signature: public Iterable<String> query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_class.identifier: query
focal_class.modifiers: public
focal_class.parameters: (Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_class.class_method_signature: HybridPropertyIndexLookup.query(Filter filter, String propertyName, PropertyValue value)
focal_class.full_signature: public Iterable<String> query(Filter filter, String propertyName, PropertyValue value)
focal_class.identifier: query
focal_class.modifiers: public
focal_class.parameters: (Filter filter, String propertyName, PropertyValue value)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> query(Filter filter, String propertyName, PropertyValue value)
focal_class.class_method_signature: HybridPropertyIndexLookup.query(Filter filter, String propertyName, Set<String> encodedValues)
focal_class.full_signature: private Iterable<String> query(Filter filter, String propertyName, Set<String> encodedValues)
focal_class.identifier: query
focal_class.modifiers: private
focal_class.parameters: (Filter filter, String propertyName, Set<String> encodedValues)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> query(Filter filter, String propertyName, Set<String> encodedValues)
focal_class.class_method_signature: HybridPropertyIndexLookup.queryUnique(Filter filter, String indexName, NodeState propIndexRootNode,
                                                  String propIdxNodeName, Set<String> values)
focal_class.full_signature: private static Iterable<String> queryUnique(Filter filter, String indexName, NodeState propIndexRootNode,
                                                  String propIdxNodeName, Set<String> values)
focal_class.identifier: queryUnique
focal_class.modifiers: private static
focal_class.parameters: (Filter filter, String indexName, NodeState propIndexRootNode,
                                                  String propIdxNodeName, Set<String> values)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> queryUnique(Filter filter, String indexName, NodeState propIndexRootNode,
                                                  String propIdxNodeName, Set<String> values)
focal_class.class_method_signature: HybridPropertyIndexLookup.querySimple(Filter filter, String indexName, NodeState propIndexNode,
                                           Set<String> values)
focal_class.full_signature: private Iterable<String> querySimple(Filter filter, String indexName, NodeState propIndexNode,
                                           Set<String> values)
focal_class.identifier: querySimple
focal_class.modifiers: private
focal_class.parameters: (Filter filter, String indexName, NodeState propIndexNode,
                                           Set<String> values)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> querySimple(Filter filter, String indexName, NodeState propIndexNode,
                                           Set<String> values)
focal_class.class_method_signature: HybridPropertyIndexLookup.queryBucket(Filter filter, String indexName, NodeState propIndexNode,
                                           String bucketPropName, Set<String> values)
focal_class.full_signature: private Iterable<String> queryBucket(Filter filter, String indexName, NodeState propIndexNode,
                                           String bucketPropName, Set<String> values)
focal_class.identifier: queryBucket
focal_class.modifiers: private
focal_class.parameters: (Filter filter, String indexName, NodeState propIndexNode,
                                           String bucketPropName, Set<String> values)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> queryBucket(Filter filter, String indexName, NodeState propIndexNode,
                                           String bucketPropName, Set<String> values)
focal_method.body: public Iterable<String> query(Filter filter, String propertyName, Filter.PropertyRestriction restriction) {
          //The propertyName may differ from name in restriction. For e.g. for relative properties
          //the restriction property name can be 'jcr:content/status' while the index has indexed
          //for 'status'
  
          Set<String> values = ValuePatternUtil.getAllValues(restriction);
          Set<String> encodedValues = PropertyIndexUtil.encode(values);
          return query(filter, propertyName, encodedValues);
      }
focal_method.class_method_signature: HybridPropertyIndexLookup.query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_method.full_signature: public Iterable<String> query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_method.identifier: query
focal_method.invocations: getAllValues encode query
focal_method.modifiers: public
focal_method.parameters: (Filter filter, String propertyName, Filter.PropertyRestriction restriction)
focal_method.return: Iterable<String>
focal_method.signature: Iterable<String> query(Filter filter, String propertyName, Filter.PropertyRestriction restriction)