Class ExternalV8ProjectHandle

  • All Implemented Interfaces:
    IV8Element, IV8ProjectHandle, org.eclipse.core.runtime.IAdaptable, org.eclipse.handly.model.IElement, org.eclipse.handly.model.IElementExtension, org.eclipse.handly.model.impl.IElementImpl, org.eclipse.handly.model.impl.IElementImplExtension, org.eclipse.handly.model.impl.support.IElementImplSupport, org.eclipse.handly.model.impl.support.IModelManager.Provider

    public class ExternalV8ProjectHandle
    extends V8ProjectHandle
    Special V8ProjectHandle for external resources without project
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.eclipse.handly.model.impl.IElementImplExtension

        org.eclipse.handly.model.impl.IElementImplExtension.CloseHint
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String EXTERNAL_PROJECT_NAME
      The name reserved for external projects, project with this name cannot be created by user
      • Fields inherited from interface org.eclipse.handly.model.impl.IElementImplExtension

        CLOSE_HINT, FORCE_OPEN
      • Fields inherited from interface org.eclipse.handly.model.impl.support.IElementImplSupport

        NEW_ELEMENTS, NO_BODY
    • Method Summary

      All Methods Instance Methods Concrete Methods Default Methods 
      Modifier and Type Method Description
      void create​(URI location, org.eclipse.core.runtime.IProgressMonitor monitor)
      Creates a new V8 project in the workspace.
      boolean equals​(Object o)  
      default org.eclipse.handly.model.impl.support.IModelManager getModelManager_()  
      void validateExistence_​(org.eclipse.handly.context.IContext context)  
      • Methods inherited from class org.eclipse.handly.model.impl.support.Element

        getName_, getParent_, hashCode, toString
      • Methods inherited from class org.eclipse.core.runtime.PlatformObject

        getAdapter
      • Methods inherited from interface org.eclipse.handly.model.IElement

        hashCode
      • Methods inherited from interface org.eclipse.handly.model.IElementExtension

        exists, getAncestor, getChildren, getChildren, getLocationUri, getName, getResource
      • Methods inherited from interface org.eclipse.handly.model.impl.IElementImpl

        equalsAndSameParentChain_, fetchChildren_, fetchChildrenOfType_, getChildrenOfType_, getHandleMemento_, getLocationUri_, getRoot_, toDisplayString_
      • Methods inherited from interface org.eclipse.handly.model.impl.IElementImplExtension

        close_, getBody_, getBody_, getChildren_
      • Methods inherited from interface org.eclipse.handly.model.impl.support.IElementImplSupport

        canEqual_, close_, defaultEquals_, defaultHashCode_, exists_, findBody_, getChildrenFromBody_, getElementManager_, getModel_, isOpenable_, newDoesNotExistException_, open_, openParent_, peekAtBody_, remove_, removing_, toString_, toStringAncestors_, toStringBody_, toStringChildren_, toStringName_
    • Field Detail

      • EXTERNAL_PROJECT_NAME

        public static final String EXTERNAL_PROJECT_NAME
        The name reserved for external projects, project with this name cannot be created by user
        See Also:
        Constant Field Values
    • Constructor Detail

      • ExternalV8ProjectHandle

        public ExternalV8ProjectHandle​(V8Model parent)
        Constructor. Creates handle with derived project with special name EXTERNAL_PROJECT_NAME. No changes in file system
        Parameters:
        parent - parent item V8Model, cannot be null
    • Method Detail

      • equals

        public boolean equals​(Object o)
        Specified by:
        equals in interface org.eclipse.handly.model.IElement
        Overrides:
        equals in class org.eclipse.handly.model.impl.support.Element
      • create

        public void create​(URI location,
                           org.eclipse.core.runtime.IProgressMonitor monitor)
                    throws org.eclipse.core.runtime.CoreException
        Description copied from interface: IV8ProjectHandle
        Creates a new V8 project in the workspace. Upon successful completion, the corresponding project resource will exist and be open.

        The created project resource will have the following configuration:

        • the given project location
        • no references to other projects
        • V8 project nature
        • Xtext project nature and builder
        • UTF-8 as the default charset

        This method changes resources; these changes will be reported in a subsequent change event, including an indication that this project has been added to the workspace.

        This method is long-running; progress and cancellation are provided by the given progress monitor.

        Specified by:
        create in interface IV8ProjectHandle
        Overrides:
        create in class V8ProjectHandle
        Parameters:
        location - the location for the project. If null is specified, the default location is used.
        monitor - a progress monitor, or null if progress reporting is not desired
        Throws:
        org.eclipse.core.runtime.CoreException - if the project could not be created. Reasons include:
        • The project already exists in the workspace.
        • The name of the project is not valid (according to IWorkspace.validateName).
        • The project description file could not be created in the project content area.
        • Resource changes are disallowed during certain types of resource change event notification. See IResourceChangeEvent for more details.
        See Also:
        IWorkspace.validateProjectLocationURI(IProject, URI)
      • validateExistence_

        public void validateExistence_​(org.eclipse.handly.context.IContext context)
                                throws org.eclipse.core.runtime.CoreException
        Specified by:
        validateExistence_ in interface org.eclipse.handly.model.impl.support.IElementImplSupport
        Overrides:
        validateExistence_ in class V8ProjectHandle
        Throws:
        org.eclipse.core.runtime.CoreException
      • getModelManager_

        public default org.eclipse.handly.model.impl.support.IModelManager getModelManager_()
        Specified by:
        getModelManager_ in interface org.eclipse.handly.model.impl.support.IModelManager.Provider