diff --git a/src/main/java/de/vill/model/constraint/AndConstraint.java b/src/main/java/de/vill/model/constraint/AndConstraint.java index 7587150..a67e709 100644 --- a/src/main/java/de/vill/model/constraint/AndConstraint.java +++ b/src/main/java/de/vill/model/constraint/AndConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.AutomaticBrackets; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Arrays; @@ -36,7 +37,7 @@ public void setRight(Constraint right){ @Override public String toString(boolean withSubmodels, String currentAlias) { return AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, left, withSubmodels, currentAlias) + - " & " + + " " + ConstantSymbols.AND + " " + AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, right, withSubmodels, currentAlias); } diff --git a/src/main/java/de/vill/model/constraint/EqualEquationConstraint.java b/src/main/java/de/vill/model/constraint/EqualEquationConstraint.java index 796c64e..734bfcf 100644 --- a/src/main/java/de/vill/model/constraint/EqualEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/EqualEquationConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.VariableReference; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.List; @@ -9,7 +10,7 @@ public class EqualEquationConstraint extends ExpressionConstraint { public EqualEquationConstraint(final Expression left, final Expression right) { - super(left, right, "=="); + super(left, right, ConstantSymbols.EQUALS); } @Override diff --git a/src/main/java/de/vill/model/constraint/EquivalenceConstraint.java b/src/main/java/de/vill/model/constraint/EquivalenceConstraint.java index 6a07fee..2a61220 100644 --- a/src/main/java/de/vill/model/constraint/EquivalenceConstraint.java +++ b/src/main/java/de/vill/model/constraint/EquivalenceConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.AutomaticBrackets; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Arrays; @@ -28,7 +29,7 @@ public Constraint getRight() { @Override public String toString(boolean withSubmodels, String currentAlias) { return AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, left, withSubmodels, currentAlias) + - " <=> " + + " " + ConstantSymbols.EQUIVALENT + " " + AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, right, withSubmodels, currentAlias); } diff --git a/src/main/java/de/vill/model/constraint/ExpressionConstraint.java b/src/main/java/de/vill/model/constraint/ExpressionConstraint.java index 056dede..d7bd28f 100644 --- a/src/main/java/de/vill/model/constraint/ExpressionConstraint.java +++ b/src/main/java/de/vill/model/constraint/ExpressionConstraint.java @@ -3,6 +3,7 @@ import de.vill.model.Feature; import de.vill.model.building.VariableReference; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; import java.util.*; @@ -75,17 +76,17 @@ public boolean evaluate(Set selectedFeatures) { return false; } - if ("==".equals(expressionSymbol)) { + if (ConstantSymbols.EQUALS.equals(expressionSymbol)) { return leftResult == rightResult; - } else if ("<".equals(expressionSymbol)) { + } else if (ConstantSymbols.LOWER.equals(expressionSymbol)) { return leftResult < rightResult; - } else if (">".equals(expressionSymbol)) { + } else if (ConstantSymbols.GREATER.equals(expressionSymbol)) { return leftResult > rightResult; - } else if (">=".equals(expressionSymbol)) { + } else if (ConstantSymbols.GREATER_OR_EQUAL.equals(expressionSymbol)) { return leftResult >= rightResult; - } else if ("<=".equals(expressionSymbol)) { + } else if (ConstantSymbols.LOWER_OR_EQUAL.equals(expressionSymbol)) { return leftResult <= rightResult; - } else if ("!=".equals(expressionSymbol)) { + } else if (ConstantSymbols.NOT_EQUALS.equals(expressionSymbol)) { return leftResult != rightResult; } return false; diff --git a/src/main/java/de/vill/model/constraint/GreaterEqualsEquationConstraint.java b/src/main/java/de/vill/model/constraint/GreaterEqualsEquationConstraint.java index 4aca930..2b357b6 100644 --- a/src/main/java/de/vill/model/constraint/GreaterEqualsEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/GreaterEqualsEquationConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.VariableReference; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Collections; @@ -9,7 +10,7 @@ public class GreaterEqualsEquationConstraint extends ExpressionConstraint { public GreaterEqualsEquationConstraint(final Expression left, final Expression right) { - super(left, right, ">="); + super(left, right, ConstantSymbols.GREATER_OR_EQUAL); } @Override diff --git a/src/main/java/de/vill/model/constraint/GreaterEquationConstraint.java b/src/main/java/de/vill/model/constraint/GreaterEquationConstraint.java index e323cd8..9dada1b 100644 --- a/src/main/java/de/vill/model/constraint/GreaterEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/GreaterEquationConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.VariableReference; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Collections; @@ -9,7 +10,7 @@ public class GreaterEquationConstraint extends ExpressionConstraint { public GreaterEquationConstraint(final Expression left, final Expression right) { - super(left, right, ">"); + super(left, right, ConstantSymbols.GREATER); } @Override diff --git a/src/main/java/de/vill/model/constraint/ImplicationConstraint.java b/src/main/java/de/vill/model/constraint/ImplicationConstraint.java index 854baf3..8b49e30 100644 --- a/src/main/java/de/vill/model/constraint/ImplicationConstraint.java +++ b/src/main/java/de/vill/model/constraint/ImplicationConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.AutomaticBrackets; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Arrays; @@ -28,7 +29,7 @@ public Constraint getRight() { @Override public String toString(boolean withSubmodels, String currentAlias) { return AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, left, withSubmodels, currentAlias) + - " => " + + " " + ConstantSymbols.IMPLIES + " " + AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, right, withSubmodels, currentAlias); } diff --git a/src/main/java/de/vill/model/constraint/LowerEqualsEquationConstraint.java b/src/main/java/de/vill/model/constraint/LowerEqualsEquationConstraint.java index ab03bcb..0df9bcc 100644 --- a/src/main/java/de/vill/model/constraint/LowerEqualsEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/LowerEqualsEquationConstraint.java @@ -1,12 +1,14 @@ package de.vill.model.constraint; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; + import java.util.Collections; import java.util.List; public class LowerEqualsEquationConstraint extends ExpressionConstraint { public LowerEqualsEquationConstraint(final Expression left, final Expression right) { - super(left, right, "<="); + super(left, right, ConstantSymbols.LOWER_OR_EQUAL); } @Override diff --git a/src/main/java/de/vill/model/constraint/LowerEquationConstraint.java b/src/main/java/de/vill/model/constraint/LowerEquationConstraint.java index 4f6f991..e730b87 100644 --- a/src/main/java/de/vill/model/constraint/LowerEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/LowerEquationConstraint.java @@ -1,12 +1,14 @@ package de.vill.model.constraint; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; + import java.util.Collections; import java.util.List; public class LowerEquationConstraint extends ExpressionConstraint { public LowerEquationConstraint(final Expression left, final Expression right) { - super(left, right, "<"); + super(left, right, ConstantSymbols.LOWER); } @Override diff --git a/src/main/java/de/vill/model/constraint/MultiOrConstraint.java b/src/main/java/de/vill/model/constraint/MultiOrConstraint.java index bb31d49..453a963 100644 --- a/src/main/java/de/vill/model/constraint/MultiOrConstraint.java +++ b/src/main/java/de/vill/model/constraint/MultiOrConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.AutomaticBrackets; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.LinkedList; @@ -20,7 +21,7 @@ public String toString(boolean withSubmodels, String currentAlias) { StringBuilder result = new StringBuilder(); for (Constraint part : sub_parts) { result.append(AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, part, withSubmodels, currentAlias)); - result.append(" | "); + result.append(" "+ ConstantSymbols.OR + " "); } result.delete(result.length() -3, result.length()); return result.toString(); diff --git a/src/main/java/de/vill/model/constraint/NotConstraint.java b/src/main/java/de/vill/model/constraint/NotConstraint.java index 6490f0e..197ae50 100644 --- a/src/main/java/de/vill/model/constraint/NotConstraint.java +++ b/src/main/java/de/vill/model/constraint/NotConstraint.java @@ -1,6 +1,7 @@ package de.vill.model.constraint; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.Arrays; import java.util.List; @@ -20,13 +21,13 @@ public Constraint getContent() { @Override public String toString(boolean withSubmodels, String currentAlias) { StringBuilder result = new StringBuilder(); - result.append("!"); + result.append(ConstantSymbols.NOT); if (content instanceof VariableReference || content instanceof ParenthesisConstraint) { result.append(content.toString(withSubmodels, currentAlias)); } else { - result.append("("); + result.append(ConstantSymbols.PAREN_OPEN); result.append(content.toString(withSubmodels, currentAlias)); - result.append(")"); + result.append(ConstantSymbols.PAREN_CLOSE); } return result.toString(); } diff --git a/src/main/java/de/vill/model/constraint/NotEqualsEquationConstraint.java b/src/main/java/de/vill/model/constraint/NotEqualsEquationConstraint.java index 35470f4..aa4bedb 100644 --- a/src/main/java/de/vill/model/constraint/NotEqualsEquationConstraint.java +++ b/src/main/java/de/vill/model/constraint/NotEqualsEquationConstraint.java @@ -1,12 +1,14 @@ package de.vill.model.constraint; import de.vill.model.expression.Expression; +import de.vill.util.ConstantSymbols; + import java.util.Collections; import java.util.List; public class NotEqualsEquationConstraint extends ExpressionConstraint { public NotEqualsEquationConstraint(final Expression left, final Expression right) { - super(left, right, "!="); + super(left, right, ConstantSymbols.NOT_EQUALS); } @Override diff --git a/src/main/java/de/vill/model/constraint/OrConstraint.java b/src/main/java/de/vill/model/constraint/OrConstraint.java index b29aba1..0a3c7e8 100644 --- a/src/main/java/de/vill/model/constraint/OrConstraint.java +++ b/src/main/java/de/vill/model/constraint/OrConstraint.java @@ -2,6 +2,7 @@ import de.vill.model.building.AutomaticBrackets; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.ArrayList; import java.util.Arrays; @@ -37,7 +38,7 @@ public void setRight(Constraint right){ @Override public String toString(boolean withSubmodels, String currentAlias) { return AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, left, withSubmodels, currentAlias) + - " | " + + " " + ConstantSymbols.OR + " " + AutomaticBrackets.enforceConstraintBracketsIfNecessary(this, right, withSubmodels, currentAlias); } diff --git a/src/main/java/de/vill/model/constraint/ParenthesisConstraint.java b/src/main/java/de/vill/model/constraint/ParenthesisConstraint.java index 52b03fe..c37c436 100644 --- a/src/main/java/de/vill/model/constraint/ParenthesisConstraint.java +++ b/src/main/java/de/vill/model/constraint/ParenthesisConstraint.java @@ -1,6 +1,7 @@ package de.vill.model.constraint; import de.vill.model.building.VariableReference; +import de.vill.util.ConstantSymbols; import java.util.Arrays; import java.util.List; @@ -19,9 +20,9 @@ public Constraint getContent() { @Override public String toString(boolean withSubmodels, String currentAlias) { - return "(" + + return ConstantSymbols.PAREN_OPEN + content.toString(withSubmodels, currentAlias) + - ")"; + ConstantSymbols.PAREN_CLOSE; } @Override diff --git a/src/main/java/de/vill/util/ConstantSymbols.java b/src/main/java/de/vill/util/ConstantSymbols.java new file mode 100644 index 0000000..d1b508c --- /dev/null +++ b/src/main/java/de/vill/util/ConstantSymbols.java @@ -0,0 +1,24 @@ +package de.vill.util; + +public class ConstantSymbols { + + // Logical operators + public static final String OR = "|"; + public static final String AND = "&"; + public static final String NOT = "!"; + public static final String IMPLIES = "=>"; + public static final String EQUIVALENT = "<=>"; + + // Comparison + public static final String EQUALS = "=="; + public static final String NOT_EQUALS = "!="; + public static final String GREATER = ">"; + public static final String LOWER = "<"; + public static final String GREATER_OR_EQUAL = ">="; + public static final String LOWER_OR_EQUAL = "<="; + + //Parenthesis + public static final String PAREN_OPEN = "("; + public static final String PAREN_CLOSE = ")"; + +}