Class AbstractProject
java.lang.Object
com.inductiveautomation.ignition.common.project.AbstractProject
- All Implemented Interfaces:
Project,Serializable
- Direct Known Subclasses:
DesignerProjectTreeImpl,RuntimeProject
- See Also:
-
Field Summary
Fields inherited from interface com.inductiveautomation.ignition.common.project.Project
GLOBAL_PROJECT_NAME, PIPELINE_PROJECT_NAME, PROJECT_NAME_PATTERN, SFC_PROJECT_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a listener for specific types of project resource changes.protected Map<ResourcePath,ProjectResource> protected CopyOnWriteArrayList<ProjectResourceListener>Get the effectiveProjectResources for this project.booleanShort-circuiting evaluation of whether project has any resources of given type.voidRemoves an existing listener.protected ProjectDiff.EffectiveDiffCall this after one or more resources or manifests have been changed.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.inductiveautomation.ignition.common.project.Project
browse, getAllResources, getDescription, getManifest, getName, getParent, getProjectInheritanceStructure, getProjectSnapshots, getResource, getResource, getSingletonResource, getTitle, isEnabled, isInheritable, isRunnable
-
Constructor Details
-
AbstractProject
public AbstractProject()
-
-
Method Details
-
getListeners
-
getEffectiveResources
-
getResources
Description copied from interface:ProjectGet the effectiveProjectResources for this project.This includes inherited resources from parent projects, recursively, except where resources in child projects override resources by the same name from parent projects. In other words, for any given
ResourcePath, only the resource "closest" to this project in the inheritance chain will be included in this list.Note that depending on the
ResourceFilterused to load this project instance, this may not include all resource types that are actually part of this project.- Specified by:
getResourcesin interfaceProject- Returns:
- the effective
ProjectResources for this project.
-
updateEffectiveState
Call this after one or more resources or manifests have been changed. This will calculate the effective change to the resources and notify listeners. -
getResourcesOfType
Description copied from interface:ProjectGet all non-folderProjectResources of typetypebelonging to the module identified bymoduleId.Resource types belonging to the Ignition platform are identified by module id "ignition".
- Specified by:
getResourcesOfTypein interfaceProject- Parameters:
type- the resource type.- Returns:
- all non-folder
ProjectResources of typetypebelonging to the module identified bymoduleId. - See Also:
-
hasResourcesOfType
Description copied from interface:ProjectShort-circuiting evaluation of whether project has any resources of given type.- Specified by:
hasResourcesOfTypein interfaceProject- Parameters:
type- the resource type.- Returns:
trueif the project contains at least one resource of the given type.See also:
ProjectLifecycleFactory#getProjectFilter()- See Also:
-
addProjectResourceListener
Description copied from interface:ProjectAdds a listener for specific types of project resource changes.- Specified by:
addProjectResourceListenerin interfaceProject- Parameters:
listener- theProjectResourceListenerto add.
-
removeProjectResourceListener
Description copied from interface:ProjectRemoves an existing listener. If not added, no-op.- Specified by:
removeProjectResourceListenerin interfaceProject- Parameters:
listener- theProjectResourceListenerto remove.
-