void () { registerDomExtender(AttrDomExtender.class); assertEmpty(getCustomChildren(createElement("<a foo=\"xxx\"/>", MyElement.class))); MyElement element = createElement("<a attr=\"foo\" foo=\"true\"/>", MyElement.class); final GenericAttributeValue child = assertInstanceOf(assertOneElement(getCustomChildren(element)), GenericAttributeValue.class); assertEquals("true", child.getStringValue()); assertEquals(Boolean.TRUE, child.getValue()); assertEquals(Boolean.class, DomUtil.getGenericValueParameter(child.getDomElementType())); assertSame(element.getXmlTag().getAttribute("foo"), child.getXmlElement()); child.setStringValue("xxx"); assertEquals("xxx", child.getStringValue()); assertEquals("xxx", element.getXmlTag().getAttributeValue("foo")); element = createElement("<a attr=\"foo\" foo=\"true\"/>", MyElement.class); final GenericAttributeValue value = getDomManager().getDomElement(element.getXmlTag().getAttribute("foo")); assertNotNull(value); assertEquals(value, assertOneElement(getCustomChildren(element))); assertNotNull(element.getGenericInfo().getAttributeChildDescription("foo")); }