Pārlūkot izejas kodu

Minor declarative API improvement (#7749)

Change-Id: Id5b11b27e7750085d30d2fa592b124ae474d6e9a
tags/7.4.0.beta1
Artur Signell pirms 9 gadiem
vecāks
revīzija
9f98c3e1ba

+ 3
- 3
server/src/com/vaadin/ui/AbstractComponent.java Parādīt failu

@@ -922,11 +922,11 @@ public abstract class AbstractComponent extends AbstractClientConnector
Attributes attr = design.attributes();
// handle default attributes
for (String attribute : getDefaultAttributes()) {
if (!design.hasAttr(attribute)) {
continue;
if (design.hasAttr(attribute)) {
DesignAttributeHandler.assignValue(this, attribute,
design.attr(attribute));
}

DesignAttributeHandler.readAttribute(this, attribute, attr);
}
// handle immediate
if (attr.hasKey("immediate")) {

+ 12
- 26
server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java Parādīt failu

@@ -87,48 +87,34 @@ public class DesignAttributeHandler implements Serializable {
}

/**
* Assigns the specified design attribute to the given component. If the
* attribute is not present, (value is null) the corresponding property is
* got from the <code>defaultInstance</code>
* Assigns the specified design attribute to the given component.
*
* @param component
* the component to which the attribute should be set
* @param target
* the target to which the attribute should be set
* @param attribute
* the attribute to be set
* @param attributes
* the attribute map. If the attributes does not contain the
* requested attribute, the value is retrieved from the
* <code> defaultInstance</code>
* the name of the attribute to be set
* @param value
* the string value of the attribute
* @return true on success
*/
public static boolean readAttribute(Component component, String attribute,
Attributes attributes) {
String value = null;
if (component == null || attribute == null || attributes == null) {
public static boolean assignValue(Object target, String attribute,
String value) {
if (target == null || attribute == null || value == null) {
throw new IllegalArgumentException(
"Parameters with null value not allowed");
}
if (attributes.hasKey(attribute)) {
value = attributes.get(attribute);
}
boolean success = false;
try {
Method setter = findSetterForAttribute(component.getClass(),
attribute);
Method setter = findSetterForAttribute(target.getClass(), attribute);
if (setter == null) {
// if we don't have the setter, there is no point in continuing
success = false;
} else if (value != null) {
} else {
// we have a value from design attributes, let's use that
Object param = fromAttributeValue(
setter.getParameterTypes()[0], value);
setter.invoke(component, param);
setter.invoke(target, param);
success = true;
} else {
getLogger().log(
Level.WARNING,
"Attribute value for " + attribute
+ " is null, this should not happen");
}
} catch (Exception e) {
getLogger().log(Level.WARNING,

Notiek ielāde…
Atcelt
Saglabāt