@Test public void noDelegationTest() { JCategory context = new JCategory(); //instantiating categories TypeCategory<Animal> animalCategory = context.forClass(Animal.class); //type category for Animal TypeCategory<HasLegs> hasLegsCategory = context.forClass(HasLegs.class); //type category for HasLegs TypeCategory<Cat> catCategory = context.forClass(Cat.class); //type category for Cat //setting properties animalCategory.setProperty(OBJECT_RENDERER_KEY, new AnimalRenderer()); //ObjectRenderer property is an instance of AnimalRenderer for Animal hasLegsCategory.setProperty(OBJECT_RENDERER_KEY, new HasLegsRenderer()); //ObjectRenderer property is an instance of HasLegsRenderer for HasLegs //testing ObjectRenderer renderer = catCategory.getStrategy(ObjectRenderer.class); assertEquals("animal", renderer.doRender(new Cat())); }
@Test public void delegationTest() { JCategory context = new JCategory(); //instantiating categories TypeCategory<Animal> animalCategory = context.forClass(Animal.class); //type category for Animal TypeCategory<HasLegs> hasLegsCategory = context.forClass(HasLegs.class); //type category for HasLegs TypeCategory<Cat> catCategory = context.forClass(Cat.class); //type category for Cat //setting properties animalCategory.setProperty(OBJECT_RENDERER_KEY, new DelegationAnimalRenderer()); //ObjectRenderer property is an instance of DelegationAnimalRenderer for Animal hasLegsCategory.setProperty(OBJECT_RENDERER_KEY, new HasLegsRenderer()); //ObjectRenderer property is an instance of HasLegsRenderer for HasLegs //testing ObjectRenderer renderer = catCategory.getStrategy(ObjectRenderer.class); assertEquals("has-legs", renderer.doRender(new Cat())); }
public void test1() { RendererMap map = new RendererMap(); ObjectRenderer dr = map.getDefaultRenderer(); ObjectRenderer r = map.get(Integer.class); assertEquals(r, dr); }
public void test2() { RendererMap map = new RendererMap(); map.put(Integer.class, ior); ObjectRenderer r = map.get(Integer.class); assertEquals(r, ior); }
public void test3() { RendererMap map = new RendererMap(); map.put(Number.class, ior); ObjectRenderer r = map.get(Integer.class); assertEquals(r, ior); }
public void test4() { RendererMap map = new RendererMap(); map.put(Object.class, oor); ObjectRenderer r = map.get(Integer.class); assertEquals(r, oor); }
public void test5() { RendererMap map = new RendererMap(); map.put(Object.class, oor); map.put(Number.class, nor); map.put(Integer.class, ior); ObjectRenderer r = map.get(Integer.class); assertEquals(r, ior); }
public void test6() { RendererMap map = new RendererMap(); map.put(Object.class, oor); map.put(Number.class, nor); ObjectRenderer r = map.get(Integer.class); assertEquals(r, nor); }
public void test7() throws Exception { RendererMap map = new RendererMap(); Class comparable = null; try { comparable = getClass().forName("java.lang.Comparable"); } catch(Exception ex) { // likely JDK 1.1 return; } map.put(comparable, cor); ObjectRenderer r = map.get(Integer.class); assertEquals(r, cor); }
public void test8() { RendererMap map = new RendererMap(); map.put(Serializable.class, sor); ObjectRenderer r = map.get(Integer.class); assertEquals(r, sor); }
public void test9() { RendererMap map = new RendererMap(); map.put(Y.class, yor); ObjectRenderer r = map.get(B.class); assertEquals(r, yor); }
public void test10() { RendererMap map = new RendererMap(); map.put(X.class, xor); ObjectRenderer r = map.get(B.class); assertEquals(r, xor); }
public void setRenderer(Class renderedClass, ObjectRenderer renderer);
/** Add an object renderer for a specific class. */ public void addRenderer(Class classToRender, ObjectRenderer or) { rendererMap.put(classToRender, or); }
/** Used by subclasses to add a renderer to the hierarchy passed as parameter. */ public void setRenderer(Class renderedClass, ObjectRenderer renderer) { rendererMap.put(renderedClass, renderer); }