|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageProducer
@ApplicationScoped public class ProjectStageProducer
Produces ProjectStage
configurations.
The producer will try to detect the currently active ProjectStage on startup and use that for all generated fields.
In case a JSF runtime is not available (e.g. in unit tests) we do all the determining ourself (but in the same way as MyFaces does it!)
Usage:
Simply inject the current ProjectStage into any bean:public class MyBean { private @Inject ProjectStage projectStage; public void fn() { if(projectStage == ProjectStage.Production) { // do some prodution stuff... } } }TODO move jsf specific parts
Field Summary | |
---|---|
static String |
JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME
System Property to set the ProjectStage, if not present via the standard way |
static String |
PROJECT_STAGE_JNDI_NAME
JNDI path for the ProjectStage |
Constructor Summary | |
---|---|
protected |
ProjectStageProducer()
ProjectStageProducers must only be created by subclassing producers |
Method Summary | |
---|---|
protected ProjectStage |
determineCustomProjectStage()
This can get used to provide additional ProjectStage lookup mechanisms. |
void |
determineProjectStage()
Read the configuration from the stated places. |
static ProjectStageProducer |
getInstance()
This factory method should only get used if there is absolutly no way to get the current ProjectStage via @Inject. |
ProjectStage |
getProjectStage()
We can only produce @Dependent scopes since an enum is final. |
protected ProjectStage |
getProjectStageFromEnvironment()
|
protected ProjectStage |
getProjectStageFromJNDI()
|
static void |
setProjectStage(ProjectStage ps)
This function can be used to manually set the ProjectStage for the application. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String PROJECT_STAGE_JNDI_NAME
public static final String JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME
Constructor Detail |
---|
protected ProjectStageProducer()
Method Detail |
---|
@Produces @Dependent @Default public ProjectStage getProjectStage()
public static ProjectStageProducer getInstance() throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
This factory method should only get used if there is absolutly no way
to get the current ProjectStage
via @Inject.
IOException
ClassNotFoundException
IllegalAccessException
InstantiationException
public static void setProjectStage(ProjectStage ps)
ps
- the ProjectStage to set@Inject public void determineProjectStage()
protected ProjectStage determineCustomProjectStage()
ProjectStage
or null
if non was found.protected ProjectStage getProjectStageFromEnvironment()
protected ProjectStage getProjectStageFromJNDI()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |