org.unlaxer.sample.calc.model.EditHistory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of calculator Show documentation
Show all versions of calculator Show documentation
a simple parser combinator inspired by RelaxNG
package org.unlaxer.sample.calc.model;
import java.util.Optional;
import org.unlaxer.Token;
import org.unlaxer.sample.calc.CalculationContext;
import org.unlaxer.sample.calc.CalculateResult;
public class EditHistory implements Cloneable{
public final EditAction editAction;
public final CalculationContext calculationContext;
public final CalculateResult calculateResult;
//TODO attach attribute to token before rendering
// public final Map attributesByToken;
/**
* initial position is 0
* after first character inserted, position is 1 and it position's element is empty
*/
public int caretPosition;
public Optional select = Optional.empty();
public EditHistory(EditAction editAction , int caretPosition,
CalculationContext calculationContext,
CalculateResult calculateResult){
super();
this.editAction = editAction;
this.caretPosition = caretPosition;
this.calculationContext = calculationContext;
this.calculateResult = calculateResult;
}
public EditHistory clone(EditAction editAction) {
return new EditHistory(editAction , caretPosition, calculationContext, calculateResult);//,
}
}