Class ProjectLifecycleFactory<T extends ProjectLifecycle>
java.lang.Object
com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
com.inductiveautomation.ignition.gateway.project.ProjectLifecycleFactory<T>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract T
createProjectLifecycle
(RuntimeProject project) Create an instance ofProjectLifecycle
that can manage runtime and lifecycle forproject
.getLifecycle
(String projectName) Get theProjectLifecycle
forprojectName
, if it exists.final com.google.common.collect.ImmutableList<T>
Get an immutable copy of the currentProjectLifecycle
s.Return aPredicate
that indicates whether a project should have aProjectLifecycle
created for it.protected abstract ResourceFilter
Get theResourceFilter
to apply when getting matching resources this lifecycle is interested in.protected final void
protected final void
void
We may need to restart all lifecycles of a type (such as scripting) if a module is installed, restarted or uninstalled.Methods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
isRunning, shutdown, startup
-
Field Details
-
PROJECT_IS_RUNNABLE
-
-
Constructor Details
-
ProjectLifecycleFactory
-
-
Method Details
-
onStartup
protected final void onStartup()- Specified by:
onStartup
in classAbstractLifecycle
-
onShutdown
protected final void onShutdown()- Specified by:
onShutdown
in classAbstractLifecycle
-
getLifecycle
Get theProjectLifecycle
forprojectName
, if it exists.- Parameters:
projectName
- the project name the lifecycle belongs to.- Returns:
- the
ProjectLifecycle
forprojectName
, if it exists.
-
getLifecycles
Get an immutable copy of the currentProjectLifecycle
s.- Returns:
- an immutable copy of the current
ProjectLifecycle
s.
-
createProjectLifecycle
Create an instance ofProjectLifecycle
that can manage runtime and lifecycle forproject
.- Parameters:
project
- theRuntimeProject
that will be run.- Returns:
- a
ProjectLifecycle
that can manage runtime and lifecycle forproject
.
-
restartAll
public void restartAll()We may need to restart all lifecycles of a type (such as scripting) if a module is installed, restarted or uninstalled. Most LifecycleFactories will not override this. -
getResourceFilter
Get theResourceFilter
to apply when getting matching resources this lifecycle is interested in.- Returns:
- the
ResourceFilter
to apply when matching resources this lifecycle is interested in.
-
getProjectFilter
Return aPredicate
that indicates whether a project should have aProjectLifecycle
created for it.For example, if the project doesn't contain any resources of a certain type then this predicate could return
false
to avoid creating a lifecycle that doesn't actually have any resources to run.Should resources of an interesting type later get added the machinery of
ProjectLifecycleFactory
ensures a lifecycle will have a chance to be created at that time.- Returns:
- a
Predicate
that indicates whether a project should have aProjectLifecycle
created for it.
-