public static void setAttribute( final AttributesContainer state, final String name, final Object value) { if (name == null) { throw new IllegalArgumentException(); } Attribute attribute = null; for (Attribute attr : state.getAttributes()) { if (name.equalsIgnoreCase(attr.getName().content())) { attribute = attr; break; } } String string = null; if (value != null) { string = state.service(MasterConversionService.class).convert(value, String.class); } if (string == null) { if (attribute != null) { state.getAttributes().remove(attribute); } } else { if (attribute == null) { attribute = state.getAttributes().insert(); attribute.setName(name); } attribute.setValue(string); } }
public static Object getAttribute( final AttributesContainer state, final String name, final Object def) { if (name == null) { throw new IllegalArgumentException(); } Object value = null; for (Attribute attribute : state.getAttributes()) { if (name.equalsIgnoreCase(attribute.getName().content())) { value = attribute.getValue().content(); break; } } if (value != null && def != null && def != String.class) { value = state.service(MasterConversionService.class).convert(value, def.getClass()); } if (value == null) { value = def; } return value; }