@InterfaceAudience.Public @InterfaceStability.Evolving public class ServiceStateModel extends Object
Constructor and Description |
---|
ServiceStateModel(String name)
Create the service state model in the
Service.STATE.NOTINITED
state. |
ServiceStateModel(String name,
org.apache.hadoop.service.Service.STATE state)
Create a service state model instance in the chosen state
|
Modifier and Type | Method and Description |
---|---|
static void |
checkStateTransition(String name,
org.apache.hadoop.service.Service.STATE state,
org.apache.hadoop.service.Service.STATE proposed)
Check that a state tansition is valid and
throw an exception if not
|
void |
ensureCurrentState(org.apache.hadoop.service.Service.STATE expectedState)
Verify that that a service is in a given state.
|
org.apache.hadoop.service.Service.STATE |
enterState(org.apache.hadoop.service.Service.STATE proposed)
Enter a state -thread safe.
|
org.apache.hadoop.service.Service.STATE |
getState()
Query the service state.
|
boolean |
isInState(org.apache.hadoop.service.Service.STATE proposed)
Query that the state is in a specific state
|
static boolean |
isValidStateTransition(org.apache.hadoop.service.Service.STATE current,
org.apache.hadoop.service.Service.STATE proposed)
Is a state transition valid?
There are no checks for current==proposed
as that is considered a non-transition.
|
String |
toString()
return the state text as the toString() value
|
public ServiceStateModel(String name)
Service.STATE.NOTINITED
state.public ServiceStateModel(String name, org.apache.hadoop.service.Service.STATE state)
state
- the starting statepublic org.apache.hadoop.service.Service.STATE getState()
public boolean isInState(org.apache.hadoop.service.Service.STATE proposed)
proposed
- proposed new statepublic void ensureCurrentState(org.apache.hadoop.service.Service.STATE expectedState)
expectedState
- the desired stateServiceStateException
- if the service state is different from
the desired statepublic org.apache.hadoop.service.Service.STATE enterState(org.apache.hadoop.service.Service.STATE proposed)
proposed
- proposed new stateServiceStateException
- if the transition is not permittedpublic static void checkStateTransition(String name, org.apache.hadoop.service.Service.STATE state, org.apache.hadoop.service.Service.STATE proposed)
name
- name of the service (can be null)state
- current stateproposed
- proposed new statepublic static boolean isValidStateTransition(org.apache.hadoop.service.Service.STATE current, org.apache.hadoop.service.Service.STATE proposed)
current
- current stateproposed
- proposed new stateCopyright © 2020 Apache Software Foundation. All rights reserved.