|
|
@@ -218,17 +218,67 @@ public class DesignAttributeHandler implements Serializable { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Reads the given attribute from a set of attributes. |
|
|
|
* Writes the given attribute value to a set of attributes if it differs |
|
|
|
* from the default attribute value. |
|
|
|
* |
|
|
|
* @param attribute |
|
|
|
* the attribute key |
|
|
|
* @param attributes |
|
|
|
* the set of attributes where the new attribute is written |
|
|
|
* @param value |
|
|
|
* the attribute value |
|
|
|
* @param defaultValue |
|
|
|
* the default attribute value |
|
|
|
* @param inputType |
|
|
|
* the type of the input value |
|
|
|
*/ |
|
|
|
public static <T> void writeAttribute(String attribute, |
|
|
|
Attributes attributes, T value, T defaultValue, Class<T> inputType) { |
|
|
|
if (!getFormatter().canConvert(inputType)) { |
|
|
|
throw new IllegalArgumentException("input type: " |
|
|
|
+ inputType.getName() + " not supported"); |
|
|
|
} |
|
|
|
if (!SharedUtil.equals(value, defaultValue)) { |
|
|
|
String attributeValue = toAttributeValue(inputType, value); |
|
|
|
attributes.put(attribute, attributeValue); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Reads the given attribute from a set of attributes. If attribute does not |
|
|
|
* exist return a given default value. |
|
|
|
* |
|
|
|
* @param attribute |
|
|
|
* the attribute key |
|
|
|
* @param attributes |
|
|
|
* the set of attributes to read from |
|
|
|
* @param defaultValue |
|
|
|
* the default value to return if attribute does not exist |
|
|
|
* @param outputType |
|
|
|
* the output type for the attribute |
|
|
|
* @return the attribute value or the default value if the attribute is not |
|
|
|
* found |
|
|
|
*/ |
|
|
|
public static <T> T readAttribute(String attribute, Attributes attributes, |
|
|
|
T defaultValue, Class<T> outputType) { |
|
|
|
T value = readAttribute(attribute, attributes, outputType); |
|
|
|
if (value != null) { |
|
|
|
return value; |
|
|
|
} |
|
|
|
return defaultValue; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Reads the given attribute from a set of attributes. |
|
|
|
* |
|
|
|
* @param attribute |
|
|
|
* the attribute key |
|
|
|
* @param attributes |
|
|
|
* the set of attributes to read from |
|
|
|
* @param outputType |
|
|
|
* the output type for the attribute |
|
|
|
* @return the attribute value or null |
|
|
|
*/ |
|
|
|
public static <T> T readAttribute(String attribute, Attributes attributes, |
|
|
|
Class<T> outputType) { |
|
|
|
if (!getFormatter().canConvert(outputType)) { |
|
|
@@ -248,33 +298,6 @@ public class DesignAttributeHandler implements Serializable { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Writes the given attribute value to a set of attributes if it differs |
|
|
|
* from the default attribute value. |
|
|
|
* |
|
|
|
* @param attribute |
|
|
|
* the attribute key |
|
|
|
* @param attributes |
|
|
|
* the set of attributes where the new attribute is written |
|
|
|
* @param value |
|
|
|
* the attribute value |
|
|
|
* @param defaultValue |
|
|
|
* the default attribute value |
|
|
|
* @param inputType |
|
|
|
* the type of the input value |
|
|
|
*/ |
|
|
|
public static <T> void writeAttribute(String attribute, |
|
|
|
Attributes attributes, T value, T defaultValue, Class<T> inputType) { |
|
|
|
if (!getFormatter().canConvert(inputType)) { |
|
|
|
throw new IllegalArgumentException("input type: " |
|
|
|
+ inputType.getName() + " not supported"); |
|
|
|
} |
|
|
|
if (!SharedUtil.equals(value, defaultValue)) { |
|
|
|
String attributeValue = toAttributeValue(inputType, value); |
|
|
|
attributes.put(attribute, attributeValue); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Returns the design attribute name corresponding the given method name. |
|
|
|
* For example given a method name <code>setPrimaryStyleName</code> the |
|
|
@@ -425,5 +448,4 @@ public class DesignAttributeHandler implements Serializable { |
|
|
|
return (methods != null && methods.length > 1) ? methods[1] : null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |