diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-29 11:21:56 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-29 11:21:56 +0300 |
commit | bfbfdd51a0563d212d1e811a3eb534122847d206 (patch) | |
tree | 8fe2f3f9feda9fe3a1c22ba261c7b498718ddbfd /client/src/com/vaadin/client/metadata/Property.java | |
parent | ed8a1d154436a635b29a35093cc349e4a4aa2897 (diff) | |
download | vaadin-framework-bfbfdd51a0563d212d1e811a3eb534122847d206.tar.gz vaadin-framework-bfbfdd51a0563d212d1e811a3eb534122847d206.zip |
Renamed com.vaadin.terminal.gwt.client to com.vaadin.client (#9432)
Diffstat (limited to 'client/src/com/vaadin/client/metadata/Property.java')
-rw-r--r-- | client/src/com/vaadin/client/metadata/Property.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/metadata/Property.java b/client/src/com/vaadin/client/metadata/Property.java new file mode 100644 index 0000000000..05ccb02626 --- /dev/null +++ b/client/src/com/vaadin/client/metadata/Property.java @@ -0,0 +1,69 @@ +/* +@VaadinApache2LicenseForJavaFiles@ + */ + +package com.vaadin.client.metadata; + +import com.vaadin.shared.annotations.DelegateToWidget; + +public class Property { + private final Type bean; + private final String name; + + public Property(Type bean, String name) { + this.bean = bean; + this.name = name; + } + + public Object getValue(Object bean) throws NoDataException { + return TypeDataStore.getGetter(this).invoke(bean); + } + + public void setValue(Object bean, Object value) throws NoDataException { + TypeDataStore.getSetter(this).invoke(bean, value); + } + + public String getDelegateToWidgetMethodName() { + String value = TypeDataStore.getDelegateToWidget(this); + if (value == null) { + return null; + } else { + return DelegateToWidget.Helper.getDelegateTarget(getName(), value); + } + } + + public Type getType() throws NoDataException { + return TypeDataStore.getType(this); + } + + public String getSignature() { + return bean.toString() + "." + name; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } else if (obj instanceof Property) { + Property other = (Property) obj; + return getSignature().equals(other.getSignature()); + } else { + return false; + } + } + + @Override + public int hashCode() { + return getSignature().hashCode(); + } + + public String getName() { + return name; + } + + @Override + public String toString() { + return getSignature(); + } + +} |