refactoring tile delete method
This commit is contained in:
@@ -234,11 +234,6 @@ public abstract class Block extends StretchableTile implements Comparable<Block>
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
public static Select selector(Block preselected,Collection<Block> exclude) {
|
||||
if (isNull(exclude)) exclude = new Vector<Block>();
|
||||
Select select = new Select(Block.class.getSimpleName());
|
||||
|
||||
@@ -102,7 +102,7 @@ public abstract class Bridge extends Tile {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
public void removeChild(BaseClass child) {
|
||||
if (child == counterpart) counterpart = null;
|
||||
plan.place(this);
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ public class Contact extends Tile{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
public void removeChild(BaseClass child) {
|
||||
if (child == actions) actions = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,15 +2,9 @@ package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public abstract class Cross extends Tile {
|
||||
public abstract Map<Connector,Turnout.State> offsetConnections(Direction from);
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -32,9 +31,4 @@ public class CrossPlus extends Tile{
|
||||
public List<Direction> possibleDirections() {
|
||||
return List.of(Direction.EAST,Direction.WEST,Direction.NORTH,Direction.SOUTH);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -22,9 +21,4 @@ public class DiagES extends Tile{
|
||||
return new HashMap<>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -22,9 +21,4 @@ public class DiagNE extends Tile{
|
||||
return new HashMap<>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -21,9 +20,4 @@ public class DiagSW extends Tile{
|
||||
return new HashMap<>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -23,10 +22,4 @@ public class DiagWN extends Tile{
|
||||
return new HashMap<>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
|
||||
public class EndE extends Tile{
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
public class EndE extends Tile{}
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
|
||||
public class EndN extends Tile{
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
}
|
||||
public class EndN extends Tile{}
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
|
||||
public class EndS extends Tile{
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
public class EndS extends Tile{}
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
|
||||
public class EndW extends Tile{
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
public class EndW extends Tile{}
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
|
||||
public class Eraser extends Tile {
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
}
|
||||
public class Eraser extends Tile {}
|
||||
|
||||
@@ -159,12 +159,7 @@ public class Relay extends Tile implements Device{
|
||||
return 'P';
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
|
||||
public Relay setLabel(boolean state, String tx) {
|
||||
if (state) {
|
||||
stateLabelA = tx;
|
||||
|
||||
@@ -30,7 +30,7 @@ public class Shadow extends Tile{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
public void removeChild(BaseClass child) {
|
||||
if (child == overlay) {
|
||||
overlay = null;
|
||||
remove();
|
||||
|
||||
@@ -7,7 +7,6 @@ import java.util.TreeSet;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public abstract class Signal extends Tile implements Comparable<Signal>{
|
||||
@@ -38,11 +37,6 @@ public abstract class Signal extends Tile implements Comparable<Signal>{
|
||||
}
|
||||
|
||||
public abstract boolean isAffectedFrom(Direction dir);
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
public boolean state(String state) {
|
||||
this.state = state;
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -29,11 +28,6 @@ public class StraightH extends StretchableTile{
|
||||
return List.of(Direction.EAST,Direction.WEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String stretchType() {
|
||||
return t("Width");
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
@@ -34,11 +33,6 @@ public class StraightV extends StretchableTile{
|
||||
return List.of(Direction.NORTH,Direction.SOUTH);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String stretchType() {
|
||||
return t("Height");
|
||||
|
||||
@@ -44,11 +44,6 @@ public class TextDisplay extends StretchableTile {
|
||||
formInputs.add(t("Text"),new Input(TEXT, text));
|
||||
return super.properties(preForm, formInputs, postForm);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
public static Select selector(TextDisplay preselected,Collection<TextDisplay> exclude) {
|
||||
if (isNull(exclude)) exclude = new Vector<TextDisplay>();
|
||||
|
||||
@@ -61,7 +61,7 @@ public abstract class Tile extends BaseClass{
|
||||
protected Train train = null;
|
||||
public Integer x = null;
|
||||
public Integer y = null;
|
||||
|
||||
|
||||
public void add(Route route) {
|
||||
this.routes.add(route);
|
||||
}
|
||||
@@ -108,7 +108,7 @@ public abstract class Tile extends BaseClass{
|
||||
private static void inflate(String clazz, JSONObject json, Plan plan) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException, IOException {
|
||||
clazz = Tile.class.getName().replace(".Tile", "."+clazz);
|
||||
Tile tile = (Tile) Tile.class.getClassLoader().loadClass(clazz).getDeclaredConstructor().newInstance();
|
||||
tile.load(json);
|
||||
tile.load(json).parent(plan);
|
||||
plan.set(tile.x, tile.y, tile);
|
||||
}
|
||||
|
||||
@@ -251,12 +251,6 @@ public abstract class Tile extends BaseClass{
|
||||
return super.properties(preForm, formInputs, postForm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseClass remove() {
|
||||
plan.stream("remove "+id());
|
||||
return super.remove();
|
||||
}
|
||||
|
||||
private static String replace(String line, Entry<String, Object> replacement) {
|
||||
String key = replacement.getKey();
|
||||
Object val = replacement.getValue();
|
||||
@@ -379,6 +373,27 @@ public abstract class Tile extends BaseClass{
|
||||
return train;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseClass remove() {
|
||||
super.remove();
|
||||
routes.forEach(route -> {
|
||||
route.remove();
|
||||
});
|
||||
shadows.forEach(shadow -> {
|
||||
shadow.remove();
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeChild(BaseClass child) {
|
||||
routes.remove(child);
|
||||
shadows.remove(child);
|
||||
if (child == train) train = null;
|
||||
if (child == route) route = null;
|
||||
plan.place(this);
|
||||
}
|
||||
|
||||
public void unlock() {
|
||||
route = null;
|
||||
train = null;
|
||||
|
||||
@@ -9,7 +9,6 @@ import java.util.concurrent.TimeoutException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.BaseClass;
|
||||
import de.srsoftware.web4rail.Command;
|
||||
import de.srsoftware.web4rail.Command.Reply;
|
||||
import de.srsoftware.web4rail.Device;
|
||||
@@ -140,11 +139,6 @@ public abstract class Turnout extends Tile implements Device{
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void removeChild(BaseClass child) {
|
||||
// this class has no child elements
|
||||
}
|
||||
|
||||
public State state() {
|
||||
return state;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user