Package net.hydromatic.morel.util
Class Tracers.ConfigurableTracerImpl
java.lang.Object
net.hydromatic.morel.util.Tracers.ConfigurableTracerImpl
- All Implemented Interfaces:
Tracers.ConfigurableTracer,Unifier.Tracer
- Enclosing class:
Tracers
private static class Tracers.ConfigurableTracerImpl
extends Object
implements Tracers.ConfigurableTracer
Implementation of
Tracers.ConfigurableTracer that has a field for each
handler.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BiConsumer<Unifier.Sequence, Unifier.Sequence> private final BiConsumer<Unifier.Variable, Unifier.Term> private final BiConsumer<Unifier.Term, Unifier.Term> (package private) static final Tracers.ConfigurableTracerImplprivate final BiConsumer<Unifier.Sequence, Unifier.Sequence> private final Tracers.QuadConsumer<Unifier.Term, Unifier.Term, Unifier.Term, Unifier.Term> private final BiConsumer<Unifier.Term, Unifier.Term> private final BiConsumer<Unifier.Variable, Unifier.Term> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateConfigurableTracerImpl(BiConsumer<Unifier.Term, Unifier.Term> deleteHandler, BiConsumer<Unifier.Sequence, Unifier.Sequence> conflictHandler, BiConsumer<Unifier.Sequence, Unifier.Sequence> sequenceHandler, BiConsumer<Unifier.Term, Unifier.Term> swapHandler, BiConsumer<Unifier.Variable, Unifier.Term> cycleHandler, BiConsumer<Unifier.Variable, Unifier.Term> variableHandler, Tracers.QuadConsumer<Unifier.Term, Unifier.Term, Unifier.Term, Unifier.Term> substituteHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoidonConflict(Unifier.Sequence left, Unifier.Sequence right) voidonCycle(Unifier.Variable variable, Unifier.Term term) voidonDelete(Unifier.Term left, Unifier.Term right) voidonSequence(Unifier.Sequence left, Unifier.Sequence right) voidonSubstitute(Unifier.Term left, Unifier.Term right, Unifier.Term left2, Unifier.Term right2) voidonSwap(Unifier.Term left, Unifier.Term right) voidonVariable(Unifier.Variable variable, Unifier.Term term) withConflictHandler(BiConsumer<Unifier.Sequence, Unifier.Sequence> conflictHandler) Sets handler forUnifier.Tracer.onConflict(Sequence, Sequence).withCycleHandler(BiConsumer<Unifier.Variable, Unifier.Term> cycleHandler) Sets handler forUnifier.Tracer.onCycle(Variable, Term).withDeleteHandler(BiConsumer<Unifier.Term, Unifier.Term> deleteHandler) Sets handler forUnifier.Tracer.onDelete(Term, Term).withSequenceHandler(BiConsumer<Unifier.Sequence, Unifier.Sequence> sequenceHandler) Sets handler forUnifier.Tracer.onSequence(Sequence, Sequence).withSubstituteHandler(Tracers.QuadConsumer<Unifier.Term, Unifier.Term, Unifier.Term, Unifier.Term> substituteHandler) Sets handler forUnifier.Tracer.onSubstitute(Term, Term, Term, Term).withSwapHandler(BiConsumer<Unifier.Term, Unifier.Term> swapHandler) Sets handler forUnifier.Tracer.onSwap(Term, Term).withVariableHandler(BiConsumer<Unifier.Variable, Unifier.Term> variableHandler) Sets handler forUnifier.Tracer.onVariable(Variable, Term).
-
Field Details
-
INITIAL
-
deleteHandler
-
conflictHandler
-
sequenceHandler
-
swapHandler
-
cycleHandler
-
variableHandler
-
substituteHandler
private final Tracers.QuadConsumer<Unifier.Term,Unifier.Term, substituteHandlerUnifier.Term, Unifier.Term>
-
-
Constructor Details
-
ConfigurableTracerImpl
private ConfigurableTracerImpl(BiConsumer<Unifier.Term, Unifier.Term> deleteHandler, BiConsumer<Unifier.Sequence, Unifier.Sequence> conflictHandler, BiConsumer<Unifier.Sequence, Unifier.Sequence> sequenceHandler, BiConsumer<Unifier.Term, Unifier.Term> swapHandler, BiConsumer<Unifier.Variable, Unifier.Term> cycleHandler, BiConsumer<Unifier.Variable, Unifier.Term> variableHandler, Tracers.QuadConsumer<Unifier.Term, Unifier.Term, Unifier.Term, Unifier.Term> substituteHandler)
-
-
Method Details
-
withDeleteHandler
public Tracers.ConfigurableTracer withDeleteHandler(BiConsumer<Unifier.Term, Unifier.Term> deleteHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onDelete(Term, Term).- Specified by:
withDeleteHandlerin interfaceTracers.ConfigurableTracer
-
withConflictHandler
public Tracers.ConfigurableTracer withConflictHandler(BiConsumer<Unifier.Sequence, Unifier.Sequence> conflictHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onConflict(Sequence, Sequence).- Specified by:
withConflictHandlerin interfaceTracers.ConfigurableTracer
-
withSequenceHandler
public Tracers.ConfigurableTracer withSequenceHandler(BiConsumer<Unifier.Sequence, Unifier.Sequence> sequenceHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onSequence(Sequence, Sequence).- Specified by:
withSequenceHandlerin interfaceTracers.ConfigurableTracer
-
withSwapHandler
public Tracers.ConfigurableTracer withSwapHandler(BiConsumer<Unifier.Term, Unifier.Term> swapHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onSwap(Term, Term).- Specified by:
withSwapHandlerin interfaceTracers.ConfigurableTracer
-
withCycleHandler
public Tracers.ConfigurableTracer withCycleHandler(BiConsumer<Unifier.Variable, Unifier.Term> cycleHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onCycle(Variable, Term).- Specified by:
withCycleHandlerin interfaceTracers.ConfigurableTracer
-
withVariableHandler
public Tracers.ConfigurableTracer withVariableHandler(BiConsumer<Unifier.Variable, Unifier.Term> variableHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onVariable(Variable, Term).- Specified by:
withVariableHandlerin interfaceTracers.ConfigurableTracer
-
withSubstituteHandler
public Tracers.ConfigurableTracer withSubstituteHandler(Tracers.QuadConsumer<Unifier.Term, Unifier.Term, Unifier.Term, Unifier.Term> substituteHandler) Description copied from interface:Tracers.ConfigurableTracerSets handler forUnifier.Tracer.onSubstitute(Term, Term, Term, Term).- Specified by:
withSubstituteHandlerin interfaceTracers.ConfigurableTracer
-
onDelete
- Specified by:
onDeletein interfaceUnifier.Tracer
-
onConflict
- Specified by:
onConflictin interfaceUnifier.Tracer
-
onSequence
- Specified by:
onSequencein interfaceUnifier.Tracer
-
onSwap
- Specified by:
onSwapin interfaceUnifier.Tracer
-
onCycle
- Specified by:
onCyclein interfaceUnifier.Tracer
-
onVariable
- Specified by:
onVariablein interfaceUnifier.Tracer
-
onSubstitute
public void onSubstitute(Unifier.Term left, Unifier.Term right, Unifier.Term left2, Unifier.Term right2) - Specified by:
onSubstitutein interfaceUnifier.Tracer
-