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

xyz.thepathfinder.android.ActionStatus Maven / Gradle / Ivy

There is a newer version: 1.0.1
Show newest version
package xyz.thepathfinder.android;

import java.util.HashMap;
import java.util.Map;

/**
 * An enum for the possible statuses of an {@link Action}.
 *
 * @author David Robinson
 * @see Action
 */
public enum ActionStatus {

    /**
     * The start of a transports route.
     */
    START("Start"),

    /**
     * A commodity pickup will occur at this location.
     */
    PICK_UP("PickUp"),

    /**
     * A commodity drop off will occur at this location.
     */
    DROP_OFF("DropOff");

    /**
     * Map of the possible statuses. It maps String of status to ActionStatus.
     */
    private static final Map statuses;

    // Creates the status map.
    static {
        statuses = new HashMap();
        for (ActionStatus status : ActionStatus.values()) {
            ActionStatus.statuses.put(status.toString(), status);
        }
    }

    /**
     * The string representation of the status.
     */
    private final String status;

    /**
     * A constructor to make each possible status.
     *
     * @param status the string associated with the status.
     */
    private ActionStatus(String status) {
        this.status = status;
    }

    /**
     * Changes a String to an ActionStatus. If the status cannot be converted null is returned.
     *
     * @param status represented as a String.
     * @return ActionStatus if status could be converted, null otherwise.
     */
    public static ActionStatus getStatus(String status) {
        return ActionStatus.statuses.get(status);
    }

    /**
     * Checks if this status is the same as the provided status.
     *
     * @param status a string of status
     * @return true if the status are the same, false otherwise.
     */
    public boolean equals(String status) {
        return this.status.equals(status);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString() {
        return this.status;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy