Definition extends BasicAttributeContext { public String getName() { return name; } Definition();  Definition(Definition definition);  Definition(String name, Attribute templateAttribute,
                               Map<String, Attribute> attributes); String getName(); void setName(String aName); void setExtends(String name); String getExtends(); @Override boolean equals(Object obj); @Override int hashCode(); boolean isExtending(); @Override String toString();  }
@Test public void testDefinitionComplete() { Map<String, Attribute> attributeMap = new HashMap<String, Attribute>(); Attribute attribute1 = new Attribute("value1"); Attribute attribute2 = new Attribute("value2"); attributeMap.put("name1", attribute1); attributeMap.put("name2", attribute2); Attribute templateAttribute = Attribute.createTemplateAttribute("/my/template.jsp"); Definition definition = new Definition("myDefinition", templateAttribute, attributeMap); assertEquals("myDefinition", definition.getName()); assertEquals(templateAttribute, definition.getTemplateAttribute()); assertEquals(attribute1, definition.getAttribute("name1")); assertEquals(attribute2, definition.getAttribute("name2")); }