package com.digiarea.closure.preferences.model;
import java.util.ArrayList;
import java.util.List;
import javafx.beans.property.ListProperty;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
import com.digiarea.closure.preferences.model.visitor.CloneVisitor;
import com.digiarea.closure.preferences.model.visitor.GenericVisitor;
import com.digiarea.closure.preferences.model.visitor.VoidVisitor;
public class Variables {
private ListProperty<Variable> variables = new SimpleListProperty<Variable>(this, "variables", FXCollections.observableList(new ArrayList<Variable>()));
public boolean addVariables(Variable variables) {
boolean res = getVariables().add(variables);
if (res) {
}
return res;
}
public boolean removeVariables(Variable variables) {
boolean res = getVariables().remove(variables);
if (res) {
}
return res;
}
public final List<Variable> getVariables() {
return variables.get();
}
public final void setVariables(List<Variable> variables) {
this.variables.addAll(variables);
}
public Variables() {
super();
}
public Variables(List<Variable> variables) {
super();
this.variables.addAll(variables);
}
public ListProperty<Variable> variablesProperty() {
return variables;
}
public <C> void accept(VoidVisitor<C> v, C ctx) throws Exception {
v.visit(this, ctx);
}
public <R, C> R accept(GenericVisitor<R, C> v, C ctx) throws Exception {
return v.visit(this, ctx);
}
@Override
public final Variables clone() throws CloneNotSupportedException {
try {
return (Variables) accept(new CloneVisitor(), null);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}