Make Function visitor an inner interface of Function
This commit is contained in:
parent
86c7da8c81
commit
7819e19e6f
@ -1,6 +1,12 @@
|
||||
package it.cavallium.warppi.math;
|
||||
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.functions.*;
|
||||
import it.cavallium.warppi.math.functions.Number;
|
||||
import it.cavallium.warppi.math.functions.equations.Equation;
|
||||
import it.cavallium.warppi.math.functions.equations.EquationsSystem;
|
||||
import it.cavallium.warppi.math.functions.equations.EquationsSystemPart;
|
||||
import it.cavallium.warppi.math.functions.trigonometry.*;
|
||||
import it.cavallium.warppi.math.rules.Rule;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -82,11 +88,43 @@ public interface Function {
|
||||
ObjectArrayList<Block> toBlock(MathContext context) throws Error;
|
||||
|
||||
/**
|
||||
* Accepts a <code>FunctionVisitor</code> by calling the correct overload of <code>visit</code>.
|
||||
* Accepts a <code>Function.Visitor</code> by calling the correct overload of <code>visit</code>.
|
||||
*
|
||||
* @param visitor The visitor to be accepted.
|
||||
* @param <T> The return type of the <code>visit</code> method.
|
||||
* @return The value returned by <code>visit</code>.
|
||||
*/
|
||||
<T> T accept(FunctionVisitor<T> visitor);
|
||||
<T> T accept(Visitor<T> visitor);
|
||||
|
||||
/**
|
||||
* Executes a different overload of a method for each <code>Function</code> implementation.
|
||||
*
|
||||
* @param <T> The return type of all <code>visit</code> method overloads.
|
||||
*/
|
||||
interface Visitor<T> {
|
||||
T visit(ArcCosine arcCosine);
|
||||
T visit(ArcSine arcSine);
|
||||
T visit(ArcTangent arcTangent);
|
||||
T visit(Cosine cosine);
|
||||
T visit(Division division);
|
||||
T visit(Equation equation);
|
||||
T visit(EquationsSystem equationsSystem);
|
||||
T visit(EquationsSystemPart equationsSystemPart);
|
||||
T visit(Expression expression);
|
||||
T visit(Joke joke);
|
||||
T visit(Logarithm logarithm);
|
||||
T visit(Multiplication multiplication);
|
||||
T visit(Negative negative);
|
||||
T visit(Number number);
|
||||
T visit(Power power);
|
||||
T visit(Root root);
|
||||
T visit(RootSquare rootSquare);
|
||||
T visit(Sine sine);
|
||||
T visit(Subtraction subtraction);
|
||||
T visit(SumSubtraction sumSubtraction);
|
||||
T visit(Sum sum);
|
||||
T visit(Tangent tangent);
|
||||
T visit(Undefined undefined);
|
||||
T visit(Variable variable);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
package it.cavallium.warppi.math;
|
||||
|
||||
import it.cavallium.warppi.math.functions.*;
|
||||
import it.cavallium.warppi.math.functions.Number;
|
||||
import it.cavallium.warppi.math.functions.equations.Equation;
|
||||
import it.cavallium.warppi.math.functions.equations.EquationsSystem;
|
||||
import it.cavallium.warppi.math.functions.equations.EquationsSystemPart;
|
||||
import it.cavallium.warppi.math.functions.trigonometry.*;
|
||||
|
||||
/**
|
||||
* Executes a different overload of a method for each <code>Function</code> implementation.
|
||||
*
|
||||
* @param <T> The return type of all <code>visit</code> method overloads.
|
||||
*/
|
||||
public interface FunctionVisitor<T> {
|
||||
T visit(ArcCosine arcCosine);
|
||||
T visit(ArcSine arcSine);
|
||||
T visit(ArcTangent arcTangent);
|
||||
T visit(Cosine cosine);
|
||||
T visit(Division division);
|
||||
T visit(Equation equation);
|
||||
T visit(EquationsSystem equationsSystem);
|
||||
T visit(EquationsSystemPart equationsSystemPart);
|
||||
T visit(Expression expression);
|
||||
T visit(Joke joke);
|
||||
T visit(Logarithm logarithm);
|
||||
T visit(Multiplication multiplication);
|
||||
T visit(Negative negative);
|
||||
T visit(Number number);
|
||||
T visit(Power power);
|
||||
T visit(Root root);
|
||||
T visit(RootSquare rootSquare);
|
||||
T visit(Sine sine);
|
||||
T visit(Subtraction subtraction);
|
||||
T visit(SumSubtraction sumSubtraction);
|
||||
T visit(Sum sum);
|
||||
T visit(Tangent tangent);
|
||||
T visit(Undefined undefined);
|
||||
T visit(Variable variable);
|
||||
}
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockDivision;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -62,7 +61,7 @@ public class Division extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
}
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockParenthesis;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.math.functions.trigonometry.ArcCosine;
|
||||
import it.cavallium.warppi.math.functions.trigonometry.ArcSine;
|
||||
@ -584,7 +583,7 @@ public class Expression extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@ package it.cavallium.warppi.math.functions;
|
||||
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.math.rules.Rule;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
@ -63,7 +62,7 @@ public class Joke implements Function {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockLogarithm;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -57,7 +56,7 @@ public class Logarithm extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -85,7 +85,7 @@ public class Multiplication extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class Negative extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import org.nevec.rjm.BigDecimalMath;
|
||||
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
@ -275,7 +274,7 @@ public class Number implements Function {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockPower;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -53,7 +52,7 @@ public class Power extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.cavallium.warppi.util.Errors;
|
||||
@ -41,7 +40,7 @@ public class Root extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockSquareRoot;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -50,7 +49,7 @@ public class RootSquare extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ public class Subtraction extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class Sum extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public class SumSubtraction extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockUndefined;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.math.rules.Rule;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
@ -60,7 +59,7 @@ public class Undefined implements Function {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.math.rules.Rule;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
@ -134,7 +133,7 @@ public class Variable implements Function {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ import java.util.Set;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionOperator;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.math.solver.SolveMethod;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
@ -77,7 +76,7 @@ public class Equation extends FunctionOperator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.equations;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionDynamic;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -65,7 +64,7 @@ public class EquationsSystem extends FunctionDynamic {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
package it.cavallium.warppi.math.functions.equations;
|
||||
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -36,7 +36,7 @@ public class EquationsSystemPart extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.trigonometry;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.cavallium.warppi.util.Errors;
|
||||
@ -45,7 +44,7 @@ public class ArcCosine extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.trigonometry;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.cavallium.warppi.util.Errors;
|
||||
@ -45,7 +44,7 @@ public class ArcSine extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.trigonometry;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.cavallium.warppi.util.Errors;
|
||||
@ -45,7 +44,7 @@ public class ArcTangent extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.trigonometry;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.cavallium.warppi.util.Errors;
|
||||
@ -45,7 +44,7 @@ public class Cosine extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@ import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
|
||||
import it.cavallium.warppi.gui.expression.blocks.BlockSine;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -53,7 +52,7 @@ public class Sine extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package it.cavallium.warppi.math.functions.trigonometry;
|
||||
import it.cavallium.warppi.gui.expression.blocks.Block;
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionSingle;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.MathContext;
|
||||
import it.cavallium.warppi.util.Error;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
@ -44,7 +43,7 @@ public class Tangent extends FunctionSingle {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T accept(final FunctionVisitor<T> visitor) {
|
||||
public <T> T accept(final Function.Visitor<T> visitor) {
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package it.cavallium.warppi.math.rules.dsl;
|
||||
|
||||
import it.cavallium.warppi.math.Function;
|
||||
import it.cavallium.warppi.math.FunctionVisitor;
|
||||
import it.cavallium.warppi.math.functions.*;
|
||||
import it.cavallium.warppi.math.functions.Number;
|
||||
import it.cavallium.warppi.math.functions.equations.Equation;
|
||||
@ -15,7 +14,7 @@ import java.util.Optional;
|
||||
/**
|
||||
* A <code>Pattern</code> which implements <code>match</code> as a visitor.
|
||||
*/
|
||||
public abstract class VisitorPattern implements Pattern, FunctionVisitor<Optional<Map<String, Function>>> {
|
||||
public abstract class VisitorPattern implements Pattern, Function.Visitor<Optional<Map<String, Function>>> {
|
||||
@Override
|
||||
public Optional<Map<String, Function>> match(final Function function) {
|
||||
return function.accept(this);
|
||||
|
Loading…
Reference in New Issue
Block a user