package org.skyscreamer.yoga.selector; import java.lang.reflect.Method; import org.skyscreamer.yoga.exceptions.YogaRuntimeException; public class NamedProperty<T> implements Property<T> { private String name; private boolean isPrimitive = false; public NamedProperty( String name ) { this.name = name; } public NamedProperty(String name, boolean isPrimitive) { this.name = name; this.isPrimitive = isPrimitive; } @Override public String name() { return name; } @Override public Object getValue( T instance ) { throw new YogaRuntimeException( "Named Properties don't read properties" ); } @Override public Method getReadMethod() { throw new YogaRuntimeException( "Named Properties don't have a read method" ); } @Override public boolean isPrimitive() { return isPrimitive; } @Override public String toString() { return "NamedProperty(" + name + ")"; } }