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.file: oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidatorTest.java
test_class.identifier: UniquenessConstraintValidatorTest
test_case.body: @Test
      public void secondStore_NodeNotExist() throws Exception{
          defnb.indexRule("nt:base").property("foo").unique();
  
          PropertyIndexUpdateCallback callback = newCallback();
          propertyUpdated(callback, "/a", "foo", "bar");
  
          callback.getUniquenessConstraintValidator()
                  .setSecondStore((propertyRelativePath, value) -> singletonList("/b"));
  
          callback.done();
      }
test_case.class_method_signature: UniquenessConstraintValidatorTest.secondStore_NodeNotExist()
test_case.full_signature: @Test public void secondStore_NodeNotExist()
test_case.identifier: secondStore_NodeNotExist
test_case.invocations: unique property indexRule newCallback propertyUpdated setSecondStore getUniquenessConstraintValidator singletonList done
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void secondStore_NodeNotExist()
focal_class.declarator: rootState
focal_class.modifier: private final
focal_class.original_string: private final NodeState rootState;
focal_class.type: NodeState
focal_class.var_name: rootState
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: uniqueKeys = HashMultimap.create()
focal_class.modifier: private final
focal_class.original_string: private final Multimap<String, String> uniqueKeys = HashMultimap.create();
focal_class.type: Multimap<String, String>
focal_class.var_name: uniqueKeys
focal_class.declarator: firstStore
focal_class.modifier: private final
focal_class.original_string: private final PropertyQuery firstStore;
focal_class.type: PropertyQuery
focal_class.var_name: firstStore
focal_class.declarator: secondStore = PropertyQuery.DEFAULT
focal_class.modifier: private
focal_class.original_string: private PropertyQuery secondStore = PropertyQuery.DEFAULT;
focal_class.type: PropertyQuery
focal_class.var_name: secondStore
focal_class.file: oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java
focal_class.identifier: UniquenessConstraintValidator
focal_class.class_method_signature: UniquenessConstraintValidator.UniquenessConstraintValidator(String indexPath, NodeBuilder builder, NodeState rootState)
focal_class.full_signature: public  UniquenessConstraintValidator(String indexPath, NodeBuilder builder, NodeState rootState)
focal_class.identifier: UniquenessConstraintValidator
focal_class.modifiers: public
focal_class.parameters: (String indexPath, NodeBuilder builder, NodeState rootState)
focal_class.signature:  UniquenessConstraintValidator(String indexPath, NodeBuilder builder, NodeState rootState)
focal_class.class_method_signature: UniquenessConstraintValidator.add(String propertyRelativePath, Set<String> afterKeys)
focal_class.full_signature: public void add(String propertyRelativePath, Set<String> afterKeys)
focal_class.identifier: add
focal_class.modifiers: public
focal_class.parameters: (String propertyRelativePath, Set<String> afterKeys)
focal_class.return: void
focal_class.signature: void add(String propertyRelativePath, Set<String> afterKeys)
focal_class.class_method_signature: UniquenessConstraintValidator.validate()
focal_class.full_signature: public void validate()
focal_class.identifier: validate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void validate()
focal_class.class_method_signature: UniquenessConstraintValidator.setSecondStore(PropertyQuery secondStore)
focal_class.full_signature: public void setSecondStore(PropertyQuery secondStore)
focal_class.identifier: setSecondStore
focal_class.modifiers: public
focal_class.parameters: (PropertyQuery secondStore)
focal_class.return: void
focal_class.signature: void setSecondStore(PropertyQuery secondStore)
focal_class.class_method_signature: UniquenessConstraintValidator.getIndexedPaths(String propertyRelativePath, String value)
focal_class.full_signature: private Iterable<String> getIndexedPaths(String propertyRelativePath, String value)
focal_class.identifier: getIndexedPaths
focal_class.modifiers: private
focal_class.parameters: (String propertyRelativePath, String value)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> getIndexedPaths(String propertyRelativePath, String value)
focal_class.class_method_signature: UniquenessConstraintValidator.getValidPaths(Set<String> allPaths, String propertyRelativePath, String value)
focal_class.full_signature: private Set<String> getValidPaths(Set<String> allPaths, String propertyRelativePath, String value)
focal_class.identifier: getValidPaths
focal_class.modifiers: private
focal_class.parameters: (Set<String> allPaths, String propertyRelativePath, String value)
focal_class.return: Set<String>
focal_class.signature: Set<String> getValidPaths(Set<String> allPaths, String propertyRelativePath, String value)
focal_class.class_method_signature: UniquenessConstraintValidator.getValue(NodeState node, String propertyRelativePath)
focal_class.full_signature: private static PropertyState getValue(NodeState node, String propertyRelativePath)
focal_class.identifier: getValue
focal_class.modifiers: private static
focal_class.parameters: (NodeState node, String propertyRelativePath)
focal_class.return: PropertyState
focal_class.signature: PropertyState getValue(NodeState node, String propertyRelativePath)
focal_method.body: public void setSecondStore(PropertyQuery secondStore) {
          this.secondStore = checkNotNull(secondStore);
      }
focal_method.class_method_signature: UniquenessConstraintValidator.setSecondStore(PropertyQuery secondStore)
focal_method.full_signature: public void setSecondStore(PropertyQuery secondStore)
focal_method.identifier: setSecondStore
focal_method.invocations: checkNotNull
focal_method.modifiers: public
focal_method.parameters: (PropertyQuery secondStore)
focal_method.return: void
focal_method.signature: void setSecondStore(PropertyQuery secondStore)