test_class.file: ontopia-engine/src/test/java/net/ontopia/utils/CachedGrabberTest.java
test_class.identifier: CachedGrabberTest
test_class.superclass: extends AbstractGrabberTest
test_case.body: @Test
    public void testCachedGrabber() {
      CachedGrabber grb = new CachedGrabber(new SubstringGrabber(5, 15));
      
      String str = "Jazz is not dead, it just smells funny!";
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
      str.replace(' ', '-');
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
      grb.refresh();
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
      str.replace('-', '_');
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
  
      grb.setGrabber(new UpperCaseGrabber());
      testGrabber(grb.grab(str), grb.grab(str), grb.getGrabber().grab(str));
      grb.refresh();
      testGrabber(grb.grab(str), grb.getGrabber().grab(str), grb.getGrabber().grab(str.substring(2)));
    }
test_case.class_method_signature: CachedGrabberTest.testCachedGrabber()
test_case.full_signature: @Test public void testCachedGrabber()
test_case.identifier: testCachedGrabber
test_case.invocations: testGrabber grab grab getGrabber grab getGrabber substring replace testGrabber grab grab getGrabber grab getGrabber substring testGrabber grab grab getGrabber grab getGrabber substring refresh testGrabber grab grab getGrabber grab getGrabber substring replace testGrabber grab grab getGrabber grab getGrabber substring testGrabber grab grab getGrabber grab getGrabber substring setGrabber testGrabber grab grab grab getGrabber refresh testGrabber grab grab getGrabber grab getGrabber substring
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCachedGrabber()
focal_class.declarator: grabber
focal_class.modifier: protected
focal_class.original_string: protected GrabberIF<O, G> grabber;
focal_class.type: GrabberIF<O, G>
focal_class.var_name: grabber
focal_class.declarator: cache = new HashMap<O, G>()
focal_class.modifier: protected
focal_class.original_string: protected Map<O, G> cache = new HashMap<O, G>();
focal_class.type: Map<O, G>
focal_class.var_name: cache
focal_class.file: ontopia-engine/src/main/java/net/ontopia/utils/CachedGrabber.java
focal_class.identifier: CachedGrabber
focal_class.interfaces: implements GrabberIF<O, G>, CachedIF
focal_class.class_method_signature: CachedGrabber.CachedGrabber(GrabberIF<O, G> grabber)
focal_class.full_signature: public  CachedGrabber(GrabberIF<O, G> grabber)
focal_class.identifier: CachedGrabber
focal_class.modifiers: public
focal_class.parameters: (GrabberIF<O, G> grabber)
focal_class.signature:  CachedGrabber(GrabberIF<O, G> grabber)
focal_class.class_method_signature: CachedGrabber.getGrabber()
focal_class.full_signature: public GrabberIF<O, G> getGrabber()
focal_class.identifier: getGrabber
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GrabberIF<O, G>
focal_class.signature: GrabberIF<O, G> getGrabber()
focal_class.class_method_signature: CachedGrabber.setGrabber(GrabberIF<O, G> grabber)
focal_class.full_signature: public void setGrabber(GrabberIF<O, G> grabber)
focal_class.identifier: setGrabber
focal_class.modifiers: public
focal_class.parameters: (GrabberIF<O, G> grabber)
focal_class.return: void
focal_class.signature: void setGrabber(GrabberIF<O, G> grabber)
focal_class.class_method_signature: CachedGrabber.grab(O object)
focal_class.full_signature: @Override public G grab(O object)
focal_class.identifier: grab
focal_class.modifiers: @Override public
focal_class.parameters: (O object)
focal_class.return: G
focal_class.signature: G grab(O object)
focal_class.class_method_signature: CachedGrabber.refresh()
focal_class.full_signature: @Override public void refresh()
focal_class.identifier: refresh
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void refresh()
focal_method.body: public CachedGrabber(GrabberIF<O, G> grabber) {
      this.grabber = grabber;
    }
focal_method.class_method_signature: CachedGrabber.CachedGrabber(GrabberIF<O, G> grabber)
focal_method.full_signature: public  CachedGrabber(GrabberIF<O, G> grabber)
focal_method.identifier: CachedGrabber
focal_method.modifiers: public
focal_method.parameters: (GrabberIF<O, G> grabber)
focal_method.signature:  CachedGrabber(GrabberIF<O, G> grabber)