Interface DesignableProject
- All Superinterfaces:
- Project,- Serializable
- All Known Implementing Classes:
- DesignerProjectTreeImpl
Extension of 
Project with additional functionality to support the Designer's need to model the project
 as a tree of resources which can be mutated and staged for push and pull operations.- 
Field SummaryFields inherited from interface com.inductiveautomation.ignition.common.project.ProjectGLOBAL_PROJECT_NAME, PIPELINE_PROJECT_NAME, PROJECT_NAME_PATTERN, SFC_PROJECT_NAME
- 
Method SummaryModifier and TypeMethodDescriptiondefault voidcreateOrModify(ProjectResource resource) Create the given resource if one doesn't already exist, otherwise, modify it.default voidcreateOrModify(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) Create the given resource if one doesn't already exist, otherwise, modify it.voidcreateResource(ProjectResource resource) Create a new resource.default ProjectResourcecreateResourceSafe(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) Create a new resource and add it at the given path.default ProjectResourcecreateResourceSafe(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer, String nameFormat) Create a new resource and add it at the given path.default voidDelete the resource with the given id.voiddeleteResource(ResourcePath path) Delete the resource at a given path.booleandiscardChanges(ResourcePath path) Discards any local changes for a path.voiddiscardOverrides(ResourcePath path) Discards changes made to overridden resourcesgetConflicts(Collection<ChangeOperation> changes) Return the project name where the given ResourcePath is actually defined.default Optional<ProjectResource>Get a resource, but only if it is a locally defined resource.default Optional<ProjectResource>getLocalResource(ResourcePath path) Get a resource, but only if it is a locally defined resource.booleanisChanged(ResourcePath path) booleanisConflict(ResourcePath path) booleanisInherited(ResourcePath path) booleanisLocal(ResourcePath path) booleanisOverridable(ResourcePath path) booleanisOverridden(ResourcePath path) default booleanisProtected(ResourcePath resourcePath) Checks whether resource is protectedvoidmodifyResource(ProjectResource resource) Modify an existing resource.default voidmodifyResource(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) Modify an existing resource, if it exists.default booleanmodifyResourceIfLocal(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) Modify an existing resource, if it exists.default voidrenameResource(ProjectResourceId id, String newName) Rename a resource at the given path.voidrenameResource(ResourcePath path, String newName) Rename a resource at the given path.default voidsetProtected(ResourcePath resourcePath, boolean value) Protect or unprotect a resourceMethods inherited from interface com.inductiveautomation.ignition.common.project.ProjectaddProjectResourceListener, browse, getAllResources, getDescription, getManifest, getName, getParent, getProjectInheritanceStructure, getProjectSnapshots, getResource, getResource, getResources, getResourcesOfType, getSingletonResource, getTitle, hasResourcesOfType, isEnabled, isInheritable, isRunnable, removeProjectResourceListener
- 
Method Details- 
getLocalResourceGet a resource, but only if it is a locally defined resource.
- 
getLocalResourceGet a resource, but only if it is a locally defined resource.
- 
createResourceCreate a new resource.Will also create any folders needed along the new resource's path. - Throws:
- NameInUseException- if the resource's name is is already in use by a local sibling.
- ResourceNamingException
 
- 
createResourceSafedefault ProjectResource createResourceSafe(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) Create a new resource and add it at the given path. If there is already a resource at the given path, then the new resource will be given a new name like "OriginalName (1)"- Parameters:
- path- The desired path for the new resource. Any needed folders along the path will be created.
- builderConsumer- Callback for setting the details of the new resource. The correct project name and resource path will already be set automatically.
- Returns:
- The resource that was created
 
- 
createResourceSafedefault ProjectResource createResourceSafe(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer, String nameFormat) Create a new resource and add it at the given path. If there is already a resource at the given path, then the new resource will be given a new name.- Parameters:
- path- The desired path for the new resource
- builderConsumer- Callback for setting the details of the new resource. The correct project name and resource path will already be set automatically.
- nameFormat- String format for appending a number to the end of the existing name, like " (%s)"
- Returns:
- The resource that was created
 
- 
modifyResourceModify an existing resource. Must already exist as a local resource, otherwise this will throw anResourceNotFoundException- Throws:
- ResourceNotFoundException
 
- 
modifyResourcedefault void modifyResource(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) throws ResourceNotFoundException Modify an existing resource, if it exists. If not, will throw anResourceNotFoundException- Throws:
- ResourceNotFoundException
 
- 
modifyResourceIfLocaldefault boolean modifyResourceIfLocal(ResourcePath path, Consumer<ProjectResourceBuilder> builderConsumer) throws ResourceNotFoundException Modify an existing resource, if it exists. If not, do nothing.- Returns:
- True if a local resource was found and modified.
- Throws:
- ResourceNotFoundException
 
- 
createOrModifyCreate the given resource if one doesn't already exist, otherwise, modify it.
- 
createOrModifyCreate the given resource if one doesn't already exist, otherwise, modify it.
- 
isProtectedChecks whether resource is protected- Parameters:
- resourcePath- the resource path
- Returns:
- true if protected, otherwise false
 
- 
setProtectedProtect or unprotect a resource- Parameters:
- resourcePath- the resource path
- value- the value
 
- 
deleteResourceDelete the resource with the given id.- Throws:
- ResourceNotFoundException
 
- 
deleteResourceDelete the resource at a given path.- Throws:
- ResourceNotFoundException
 
- 
renameResourceRename a resource at the given path.- Throws:
- ResourceNamingException
 
- 
renameResourceRename a resource at the given path.- Throws:
- ResourceNamingException
 
- 
discardChangesDiscards any local changes for a path.- Returns:
- true if there were changes to discard, false if there were no changes in the first place.
 
- 
discardOverridesDiscards changes made to overridden resources
- 
isLocal- Returns:
- True if there is a project resource at the given path that defined in the local project.
 
- 
isChanged- Returns:
- True if there is a resource at the given path that has been locally altered.
 
- 
isInherited- Returns:
- True if there is a resource at the given path that is inherited from a parent project
 
- 
isOverridable- Returns:
- False if there is an inherited resource that does not allow overrides. True otherwise.
 
- 
isOverridden- Returns:
- True if there is a resource at the given path defined in this project that is overriding a resource from a parent project at the same path.
 
- 
isConflict- Returns:
- True if there is a resource with a conflicting (but differently cased) name at the given path - see
 NameCollisionException
 
- 
getDefiningProjectReturn the project name where the given ResourcePath is actually defined.
- 
getChangesList<ChangeOperation> getChanges()- Returns:
- The change operations that have occurred on this project since loaded or since the last applyChanges
 
- 
getConflicts- Parameters:
- changes- Diff operations applicable to the local project
- Returns:
- a collection of the change operations from diff that conflict with local changes
 
 
-