BasicAttributeContext implements AttributeContext, Serializable { public Attribute getAttribute(String name) { Attribute retValue = null; if (attributes != null) { retValue = attributes.get(name); } if (retValue == null && cascadedAttributes != null) { retValue = cascadedAttributes.get(name); } return retValue; } BasicAttributeContext();  BasicAttributeContext(Map<String, Attribute> attributes);  BasicAttributeContext(AttributeContext context);  BasicAttributeContext(BasicAttributeContext context); Attribute getTemplateAttribute(); void setTemplateAttribute(Attribute templateAttribute); String getPreparer(); void setPreparer(String url); void inheritCascadedAttributes(AttributeContext context); void inherit(AttributeContext parent); void inherit(BasicAttributeContext parent); void addAll(Map<String, Attribute> newAttributes); void addMissing(Map<String, Attribute> defaultAttributes); Attribute getAttribute(String name); Attribute getLocalAttribute(String name); Attribute getCascadedAttribute(String name); Set<String> getLocalAttributeNames(); Set<String> getCascadedAttributeNames(); void putAttribute(String name, Attribute value); void putAttribute(String name, Attribute value, boolean cascade); void clear(); @Override boolean equals(Object obj); @Override int hashCode();  }
@Test public void testBasicAttributeContextMapOfStringAttribute() { Map<String, Attribute> name2attrib = new HashMap<String, Attribute>(); Attribute attribute = new Attribute("Value 1"); name2attrib.put("name1", attribute); attribute = new Attribute("Value 2"); name2attrib.put("name2", attribute); AttributeContext context = new BasicAttributeContext(name2attrib); attribute = context.getAttribute("name1"); assertNotNull("Attribute name1 not found", attribute); assertEquals("Attribute name1 has not been set correctly", "Value 1", attribute.getValue()); attribute = context.getAttribute("name2"); assertNotNull("Attribute name2 not found", attribute); assertEquals("Attribute name2 has not been set correctly", "Value 2", attribute.getValue()); }
@Test public void testGetAttribute() { AttributeContext context = new BasicAttributeContext(); context.putAttribute("name1", new Attribute("value1"), false); context.putAttribute("name2", new Attribute("value2"), true); context.putAttribute("name3", new Attribute("value3a"), true); context.putAttribute("name3", new Attribute("value3"), false); Attribute attribute = context.getAttribute("name1"); assertNotNull("Attribute name1 not found", attribute); assertEquals("Attribute name1 has not been set correctly", "value1", attribute.getValue()); attribute = context.getAttribute("name2"); assertNotNull("Attribute name2 not found", attribute); assertEquals("Attribute name2 has not been set correctly", "value2", attribute.getValue()); attribute = context.getAttribute("name3"); assertNotNull("Attribute name3 not found", attribute); assertEquals("Attribute name3 has not been set correctly", "value3", attribute.getValue()); }