package org.robobinding.attribute;
/**
*
* @since 1.0
* @version $Revision: 1.0 $
* @author Cheng Wei
*/
public abstract class AbstractPropertyAttribute extends AbstractAttribute {
public AbstractPropertyAttribute(String name) {
super(name);
}
public abstract boolean isTwoWayBinding();
/*
public final ValueModelAttribute asValueModelAttribute() {
if (isValueModel()) {
return (ValueModelAttribute) this;
} else {
throw new RuntimeException("Not a value model attribute");
}
}
boolean isValueModel() {
return ValueModelAttribute.class.isInstance(this);
}
public final StaticResourceAttribute asStaticResourceAttribute() {
if (isStaticResource()) {
return (StaticResourceAttribute) this;
} else {
throw new RuntimeException("Not a static resource attribute value");
}
}
public boolean isStaticResource() {
return StaticResourceAttribute.class.isInstance(this);
}
*/
public abstract <T> T accept(PropertyAttributeVisitor<T> visitor);
}