package modele; import javafx.scene.control.TreeItem; public class TreeItemFactoryVisitor implements Visitor>{ @Override public TreeItem visit(ConcreteSensor c) { return new TreeItem<>(c); } @Override public TreeItem visit(VirtualSensor v) { TreeItem item = new TreeItem<>(v); for (Sensor sensor: v.getSensors()) { TreeItem childItem; if(sensor instanceof VirtualSensor){ childItem = visit((VirtualSensor) sensor); } else { childItem = new TreeItem<>(sensor); } item.getChildren().add(childItem); } return item; } }