test_class.declarator: entity1_1
test_class.modifier: private
test_class.original_string: private ObjectId entity1_1;
test_class.type: ObjectId
test_class.var_name: entity1_1
test_class.declarator: entity2_1
test_class.modifier: private
test_class.original_string: private ObjectId entity2_1;
test_class.type: ObjectId
test_class.var_name: entity2_1
test_class.declarator: entity2_2
test_class.modifier: private
test_class.original_string: private ObjectId entity2_2;
test_class.type: ObjectId
test_class.var_name: entity2_2
test_class.declarator: accessor1
test_class.modifier: private
test_class.original_string: private InMemoryCRUDAccessor<AbstractOrganizableObject> accessor1;
test_class.type: InMemoryCRUDAccessor<AbstractOrganizableObject>
test_class.var_name: accessor1
test_class.declarator: accessor2
test_class.modifier: private
test_class.original_string: private InMemoryCRUDAccessor<AbstractOrganizableObject> accessor2;
test_class.type: InMemoryCRUDAccessor<AbstractOrganizableObject>
test_class.var_name: accessor2
test_class.file: step-core/src/test/java/step/core/accessors/LayeredCRUDAccessorTest.java
test_class.identifier: LayeredCRUDAccessorTest
test_case.body: @Test
  	public void test2() {
  		LayeredCRUDAccessor<AbstractOrganizableObject> accessor = new LayeredCRUDAccessor<>();
  		accessor.addAccessor(accessor1);
  		accessor.addAccessor(accessor2);
  		
  		performTests(accessor);
  	}
test_case.class_method_signature: LayeredCRUDAccessorTest.test2()
test_case.full_signature: @Test public void test2()
test_case.identifier: test2
test_case.invocations: addAccessor addAccessor performTests
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test2()
focal_class.declarator: accessors = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<CRUDAccessor<T>> accessors = new ArrayList<>();
focal_class.type: List<CRUDAccessor<T>>
focal_class.var_name: accessors
focal_class.file: step-core/src/main/java/step/core/accessors/LayeredCRUDAccessor.java
focal_class.identifier: LayeredCRUDAccessor
focal_class.interfaces: implements CRUDAccessor<T>
focal_class.class_method_signature: LayeredCRUDAccessor.LayeredCRUDAccessor()
focal_class.full_signature: public  LayeredCRUDAccessor()
focal_class.identifier: LayeredCRUDAccessor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  LayeredCRUDAccessor()
focal_class.class_method_signature: LayeredCRUDAccessor.LayeredCRUDAccessor(List<? extends CRUDAccessor<T>> accessors)
focal_class.full_signature: public  LayeredCRUDAccessor(List<? extends CRUDAccessor<T>> accessors)
focal_class.identifier: LayeredCRUDAccessor
focal_class.modifiers: public
focal_class.parameters: (List<? extends CRUDAccessor<T>> accessors)
focal_class.signature:  LayeredCRUDAccessor(List<? extends CRUDAccessor<T>> accessors)
focal_class.class_method_signature: LayeredCRUDAccessor.addAccessor(CRUDAccessor<T> accessor)
focal_class.full_signature: public void addAccessor(CRUDAccessor<T> accessor)
focal_class.identifier: addAccessor
focal_class.modifiers: public
focal_class.parameters: (CRUDAccessor<T> accessor)
focal_class.return: void
focal_class.signature: void addAccessor(CRUDAccessor<T> accessor)
focal_class.class_method_signature: LayeredCRUDAccessor.pushAccessor(CRUDAccessor<T> accessor)
focal_class.full_signature: public void pushAccessor(CRUDAccessor<T> accessor)
focal_class.identifier: pushAccessor
focal_class.modifiers: public
focal_class.parameters: (CRUDAccessor<T> accessor)
focal_class.return: void
focal_class.signature: void pushAccessor(CRUDAccessor<T> accessor)
focal_class.class_method_signature: LayeredCRUDAccessor.get(ObjectId id)
focal_class.full_signature: @Override public T get(ObjectId id)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (ObjectId id)
focal_class.return: T
focal_class.signature: T get(ObjectId id)
focal_class.class_method_signature: LayeredCRUDAccessor.layeredLookup(Function<CRUDAccessor<T>, V> f)
focal_class.full_signature: protected V layeredLookup(Function<CRUDAccessor<T>, V> f)
focal_class.identifier: layeredLookup
focal_class.modifiers: protected
focal_class.parameters: (Function<CRUDAccessor<T>, V> f)
focal_class.return: V
focal_class.signature: V layeredLookup(Function<CRUDAccessor<T>, V> f)
focal_class.class_method_signature: LayeredCRUDAccessor.get(String id)
focal_class.full_signature: @Override public T get(String id)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (String id)
focal_class.return: T
focal_class.signature: T get(String id)
focal_class.class_method_signature: LayeredCRUDAccessor.findByAttributes(Map<String, String> attributes)
focal_class.full_signature: @Override public T findByAttributes(Map<String, String> attributes)
focal_class.identifier: findByAttributes
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, String> attributes)
focal_class.return: T
focal_class.signature: T findByAttributes(Map<String, String> attributes)
focal_class.class_method_signature: LayeredCRUDAccessor.findManyByAttributes(Map<String, String> attributes)
focal_class.full_signature: @Override public Spliterator<T> findManyByAttributes(Map<String, String> attributes)
focal_class.identifier: findManyByAttributes
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, String> attributes)
focal_class.return: Spliterator<T>
focal_class.signature: Spliterator<T> findManyByAttributes(Map<String, String> attributes)
focal_class.class_method_signature: LayeredCRUDAccessor.layeredMerge(Function<CRUDAccessor<T>, Spliterator<V>> f)
focal_class.full_signature: protected Spliterator<V> layeredMerge(Function<CRUDAccessor<T>, Spliterator<V>> f)
focal_class.identifier: layeredMerge
focal_class.modifiers: protected
focal_class.parameters: (Function<CRUDAccessor<T>, Spliterator<V>> f)
focal_class.return: Spliterator<V>
focal_class.signature: Spliterator<V> layeredMerge(Function<CRUDAccessor<T>, Spliterator<V>> f)
focal_class.class_method_signature: LayeredCRUDAccessor.getAll()
focal_class.full_signature: @Override public Iterator<T> getAll()
focal_class.identifier: getAll
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Iterator<T>
focal_class.signature: Iterator<T> getAll()
focal_class.class_method_signature: LayeredCRUDAccessor.findByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.full_signature: @Override public T findByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.identifier: findByAttributes
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, String> attributes, String attributesMapKey)
focal_class.return: T
focal_class.signature: T findByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.class_method_signature: LayeredCRUDAccessor.findManyByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.full_signature: @Override public Spliterator<T> findManyByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.identifier: findManyByAttributes
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, String> attributes, String attributesMapKey)
focal_class.return: Spliterator<T>
focal_class.signature: Spliterator<T> findManyByAttributes(Map<String, String> attributes, String attributesMapKey)
focal_class.class_method_signature: LayeredCRUDAccessor.getRange(int skip, int limit)
focal_class.full_signature: @Override public List<T> getRange(int skip, int limit)
focal_class.identifier: getRange
focal_class.modifiers: @Override public
focal_class.parameters: (int skip, int limit)
focal_class.return: List<T>
focal_class.signature: List<T> getRange(int skip, int limit)
focal_class.class_method_signature: LayeredCRUDAccessor.remove(ObjectId id)
focal_class.full_signature: @Override public void remove(ObjectId id)
focal_class.identifier: remove
focal_class.modifiers: @Override public
focal_class.parameters: (ObjectId id)
focal_class.return: void
focal_class.signature: void remove(ObjectId id)
focal_class.class_method_signature: LayeredCRUDAccessor.save(T entity)
focal_class.full_signature: @Override public T save(T entity)
focal_class.identifier: save
focal_class.modifiers: @Override public
focal_class.parameters: (T entity)
focal_class.return: T
focal_class.signature: T save(T entity)
focal_class.class_method_signature: LayeredCRUDAccessor.save(Collection<? extends T> entities)
focal_class.full_signature: @Override public void save(Collection<? extends T> entities)
focal_class.identifier: save
focal_class.modifiers: @Override public
focal_class.parameters: (Collection<? extends T> entities)
focal_class.return: void
focal_class.signature: void save(Collection<? extends T> entities)
focal_class.class_method_signature: LayeredCRUDAccessor.getAccessorForPersistence()
focal_class.full_signature: protected CRUDAccessor<T> getAccessorForPersistence()
focal_class.identifier: getAccessorForPersistence
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: CRUDAccessor<T>
focal_class.signature: CRUDAccessor<T> getAccessorForPersistence()
focal_method.body: public void addAccessor(CRUDAccessor<T> accessor) {
  		accessors.add(accessor);
  	}
focal_method.class_method_signature: LayeredCRUDAccessor.addAccessor(CRUDAccessor<T> accessor)
focal_method.full_signature: public void addAccessor(CRUDAccessor<T> accessor)
focal_method.identifier: addAccessor
focal_method.invocations: add
focal_method.modifiers: public
focal_method.parameters: (CRUDAccessor<T> accessor)
focal_method.return: void
focal_method.signature: void addAccessor(CRUDAccessor<T> accessor)