All Downloads are FREE. Search and download functionalities are using the official Maven repository.

in.ashwanthkumar.utils.parser.ParserResult Maven / Gradle / Ivy

The newest version!
package in.ashwanthkumar.utils.parser;

import in.ashwanthkumar.utils.func.Function;

public abstract class ParserResult {
    protected String remainingInput;

    public ParserResult(String remainingInput) {
        this.remainingInput = remainingInput;
    }

    /**
     * Return the underlying result of the result
     *
     * @return
     */
    abstract public T get();

    abstract public  ParserResult map(Function transform);

    abstract public boolean successful();

    public boolean empty() {
        return !successful();
    }

    public String getRemainingInput() {
        return remainingInput;
    }

    public ParserResult setRemainingInput(String remainingInput) {
        this.remainingInput = remainingInput;
        return this;
    }
}