test_class.file: preon-el/src/test/java/org/codehaus/preon/el/ctx/VariableContextTest.java
test_class.identifier: VariableContextTest
test_case.body: @Test
      public void testPropertySelectors() {
          final Data data = new Data();
          data.data = new Data();
          data.data.str = "foobar";
          VariableDefinitions defs = new DataVariableDefinitions();
          VariableContext context = new VariableContext(defs);
          Reference<VariableResolver> reference = context.selectAttribute("data");
          reference = reference.selectAttribute("data");
          reference = reference.selectAttribute("str");
          assertEquals("foobar", reference.resolve(new DataResolver(data)));
      }
test_case.class_method_signature: VariableContextTest.testPropertySelectors()
test_case.full_signature: @Test public void testPropertySelectors()
test_case.identifier: testPropertySelectors
test_case.invocations: selectAttribute selectAttribute selectAttribute assertEquals resolve
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPropertySelectors()
focal_class.declarator: defs
focal_class.modifier: private
focal_class.original_string: private VariableDefinitions defs;
focal_class.type: VariableDefinitions
focal_class.var_name: defs
focal_class.file: preon-el/src/main/java/org/codehaus/preon/el/ctx/VariableContext.java
focal_class.identifier: VariableContext
focal_class.interfaces: implements ReferenceContext<VariableResolver>
focal_class.class_method_signature: VariableContext.VariableContext(VariableDefinitions defs)
focal_class.full_signature: public  VariableContext(VariableDefinitions defs)
focal_class.identifier: VariableContext
focal_class.modifiers: public
focal_class.parameters: (VariableDefinitions defs)
focal_class.signature:  VariableContext(VariableDefinitions defs)
focal_class.class_method_signature: VariableContext.selectAttribute(String name)
focal_class.full_signature: public Reference<VariableResolver> selectAttribute(String name)
focal_class.identifier: selectAttribute
focal_class.modifiers: public
focal_class.parameters: (String name)
focal_class.return: Reference<VariableResolver>
focal_class.signature: Reference<VariableResolver> selectAttribute(String name)
focal_class.class_method_signature: VariableContext.selectItem(String index)
focal_class.full_signature: public Reference<VariableResolver> selectItem(String index)
focal_class.identifier: selectItem
focal_class.modifiers: public
focal_class.parameters: (String index)
focal_class.return: Reference<VariableResolver>
focal_class.signature: Reference<VariableResolver> selectItem(String index)
focal_class.class_method_signature: VariableContext.selectItem(
              Expression<Integer, VariableResolver> index)
focal_class.full_signature: public Reference<VariableResolver> selectItem(
              Expression<Integer, VariableResolver> index)
focal_class.identifier: selectItem
focal_class.modifiers: public
focal_class.parameters: (
              Expression<Integer, VariableResolver> index)
focal_class.return: Reference<VariableResolver>
focal_class.signature: Reference<VariableResolver> selectItem(
              Expression<Integer, VariableResolver> index)
focal_class.class_method_signature: VariableContext.document(Document target)
focal_class.full_signature: public void document(Document target)
focal_class.identifier: document
focal_class.modifiers: public
focal_class.parameters: (Document target)
focal_class.return: void
focal_class.signature: void document(Document target)
focal_method.body: public Reference<VariableResolver> selectAttribute(String name) {
          return new VariableReference(name, this);
      }
focal_method.class_method_signature: VariableContext.selectAttribute(String name)
focal_method.full_signature: public Reference<VariableResolver> selectAttribute(String name)
focal_method.identifier: selectAttribute
focal_method.modifiers: public
focal_method.parameters: (String name)
focal_method.return: Reference<VariableResolver>
focal_method.signature: Reference<VariableResolver> selectAttribute(String name)