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

io.graceland.application.UnknownModeException Maven / Gradle / Ivy

package io.graceland.application;

/**
 * An exception that is thrown when an unknown mode is passed to a {@link io.graceland.application.ModalApplication}
 * through the command line arguments.
 */
public class UnknownModeException extends RuntimeException {

    private final Class modeClass;
    private final String candidate;

    UnknownModeException(
            Class modeClass,
            String candidate) {

        this.modeClass = modeClass;
        this.candidate = candidate;
    }

    @Override
    public String getMessage() {
        StringBuilder sb = new StringBuilder();

        sb
                .append("An unknown mode was found in the command line arguments: `")
                .append(candidate)
                .append("`.\n\n")
                .append("The possible choices are (they are case-sensitive):\n");

        for (Object e : modeClass.getEnumConstants()) {
            sb
                    .append("\t- ")
                    .append(e)
                    .append("\n");
        }

        return sb.toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy