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

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

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

import in.ashwanthkumar.utils.func.Function;

public class Failure extends ParserResult {

    private String message;

    public static  ParserResult of(String message, String remaining) {
        return new Failure(message, remaining);
    }

    private Failure(String message, String remaining) {
        super(remaining);
        this.message = message;
    }

    @Override
    public T get() {
        throw new RuntimeException("get on Failure is not supported");
    }

    @Override
    public  ParserResult map(Function transform) {
        return (ParserResult) this;
    }

    @Override
    public boolean successful() {
        return false;
    }

    public String getMessage() {
        return message;
    }

    @Override
    public String toString() {
        return "Failure{" +
                "message='" + message + '\'' +
                '}';
    }
}