package jcgp.parameters; import javafx.beans.property.Property; public abstract class Parameter { protected boolean managed = false; protected boolean hidden = false; protected boolean originalManaged = false; protected boolean originalHidden = false; protected Property value; protected String name; public Parameter(String name, boolean managed, boolean hidden) { this.name = name; this.managed = originalManaged = managed; this.hidden = originalHidden = hidden; } public Parameter(String name) { this.name = name; } public void setManaged(boolean value) { managed = value; } public boolean isManaged() { return managed; } public void setHidden(boolean value) { hidden = value; } public boolean isHidden() { return hidden; } public String getName() { return name; } public abstract Object getValue(); public abstract void setValue(Object value); public Property valueProperty() { return value; } public void reset() { hidden = originalHidden; managed = originalManaged; } }