coder-client/src/com/coder/client/property/CoderClientProperty.java

52 lines
920 B
Java
Raw Normal View History

2015-10-20 06:56:14 +00:00
package com.coder.client.property;
import java.util.Optional;
import org.controlsfx.control.PropertySheet;
import org.controlsfx.property.editor.PropertyEditor;
public abstract class CoderClientProperty<T> implements PropertySheet.Item {
private String name;
private T value;
public CoderClientProperty(String name, T defaultValue){
this.name = name;
this.value = defaultValue;
}
@Override
public String getName(){
return name;
}
@Override
public Object getValue() {
return value;
}
@Override
public boolean isEditable() {
return true;
}
@SuppressWarnings("unchecked")
@Override
public void setValue(Object value) {
this.value = (T)value;
}
@Override
public Optional<Class<? extends PropertyEditor<?>>> getPropertyEditorClass() {
return Optional.empty();
}
@Override
public String getCategory() {
return "";
}
public abstract PropertyEditor<?> getEditor();
}