package org.atricore.idbus.idojos.ldapidentitystore.codec.ppolicy; import org.apache.directory.shared.asn1.ber.grammar.IGrammar; import org.apache.directory.shared.asn1.ber.grammar.IStates; /** * @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a> */ public class PasswordPolicyControlStatesEnum implements IStates { // ~ Static fields/initializers // ----------------------------------------------------------------- // ========================================================================= // Persistent search control grammar states // ========================================================================= /** Initial state */ public static final int START_STATE = 0; /** Sequence Value */ public static final int PPOLICYRESPONSEVALUE_SEQUENCE_STATE = 1; /** warning */ public static final int WARNING_STATE = 2; /** Time Before Expiration **/ public static final int TIMEBEFOREEXPIRATION_STATE = 3; /** Grace Authentications Remaining **/ public static final int GRACEAUTHNREMAINING_STATE = 4; /** changesOnly Value */ public static final int ERROR_STATE = 5; /** terminal state */ public static final int LAST_PPOLICYRESPONSEVALUE_STATE = 6; // ========================================================================= // States debug strings // ========================================================================= /** A string representation of all the states */ private static String[] PPolicyResponseValueString = new String[] { "START_STATE", "PPOLICYRESPONSEVALUE_SEQUENCE_STATE", "WARNING_STATE", "TIMEBEFOREEXPIRATION_STATE", "GRACEAUTHNREMAINING_STATE", "ERROR_STATE", "LAST_PPOLICYRESPONSEVALUE_STATE" }; /** The instance */ private static PasswordPolicyControlStatesEnum instance = new PasswordPolicyControlStatesEnum(); // ~ Constructors // ------------------------------------------------------------------------------- /** * This is a private constructor. This class is a singleton */ private PasswordPolicyControlStatesEnum() { } // ~ Methods // ------------------------------------------------------------------------------------ /** * Get an instance of this class * * @return An instance on this class */ public static IStates getInstance() { return instance; } /** * Get the grammar name * * @param grammar The grammar code * @return The grammar name */ public String getGrammarName( int grammar ) { return "PPOLICYCONTROL_GRAMMAR"; } /** * Get the grammar name * * @param grammar The grammar class * @return The grammar name */ public String getGrammarName( IGrammar grammar ) { if ( grammar instanceof PasswordPolicyControlGrammar ) { return "PPOLICYCONTROL_GRAMMAR"; } return "UNKNOWN GRAMMAR"; } /** * Get the string representing the state * * @param state The state number * @return The String representing the state */ public String getState( int state ) { return ( ( state == GRAMMAR_END ) ? "LAST_PPOLICYRESPONSEVALUE_STATE" : PPolicyResponseValueString[state] ); } }