Package org.eclipse.handly.model.impl.support

## Class WorkspaceSourceFile

- java.lang.Object
- - org.eclipse.core.runtime.PlatformObject
  - - org.eclipse.handly.model.impl.support.Element
    - - org.eclipse.handly.model.impl.support.SourceFile
      - - org.eclipse.handly.model.impl.support.WorkspaceSourceFile

- All Implemented Interfaces:
    `org.eclipse.core.runtime.IAdaptable`, `IElement`, `IElementImpl`, `IElementImplExtension`, `ISourceElementImpl`, `ISourceFileImpl`, `ISourceFileImplExtension`, `IElementImplSupport`, `IModelManager.Provider`, `ISourceElementImplSupport`, `ISourceFileImplSupport`, `ISourceElement`, `ISourceFile`

      public abstract class WorkspaceSourceFile
      extends SourceFile

  Provides a skeletal implementation of `ISourceFileImplExtension` for source files residing in the workspace. Such files always have an underlying `IFile`. This class is just an implementation convenience. Clients might as well implement a workspace source file by extending `SourceFile` or implementing ("mixing in") `ISourceFileImplSupport` directly if extending this class is not possible/desirable for some reason.
  See Also:
    `BaseSourceFile`, `FsSourceFile`

- - ### Nested Class Summary

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

      `IElementImplExtension.CloseHint`

    - ### Nested classes/interfaces inherited from interface org.eclipse.handly.model.impl.support.ISourceFileImplSupport

      `ISourceFileImplSupport.NotifyingReconcileOperation, ISourceFileImplSupport.ReconcileOperation`

  - ### Field Summary

    - ### 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`

    - ### Fields inherited from interface org.eclipse.handly.model.impl.ISourceFileImplExtension

      `WORKING_COPY_BUFFER, WORKING_COPY_CALLBACK, WORKING_COPY_CONTEXT`

    - ### Fields inherited from interface org.eclipse.handly.model.impl.support.ISourceFileImplSupport

      `SOURCE_AST, SOURCE_CONTENTS, SOURCE_SNAPSHOT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WorkspaceSourceFile​(IElement parent, org.eclipse.core.resources.IFile file)` | Constructs a handle for a source file with the given parent element and the given underlying `IFile`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.eclipse.core.resources.IFile` | `getFile_()` | Returns the underlying `IFile`.
    `java.lang.Object` | `getFileObject_()` | Returns the underlying `IFile`.
    `org.eclipse.core.resources.IResource` | `getResource_()` | Returns the underlying `IFile`.

    - ### Methods inherited from class org.eclipse.handly.model.impl.support.Element

      `equals, getName_, getParent_, hashCode, toString`

    - ### Methods inherited from class org.eclipse.core.runtime.PlatformObject

      `getAdapter`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.handly.model.IElement

      `equals, hashCode`

    - ### Methods inherited from interface org.eclipse.handly.model.impl.IElementImpl

      `equalsAndSameParentChain_, fetchChildren_, fetchChildrenOfType_, getChildrenOfType_, getHandleMemento_, getLocationUri_, getName_, getParent_, 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_, exists_, findBody_, getChildrenFromBody_, getElementManager_, getModel_, isOpenable_, newDoesNotExistException_, open_, peekAtBody_, remove_, removing_, toString_, toStringAncestors_, toStringBody_, toStringChildren_`

    - ### Methods inherited from interface org.eclipse.handly.model.impl.support.IModelManager.Provider

      `getModelManager_`

    - ### Methods inherited from interface org.eclipse.handly.model.impl.support.ISourceElementImplSupport

      `getSourceElementAt_, getSourceElementAt_, getSourceElementInfo_`

    - ### Methods inherited from interface org.eclipse.handly.model.impl.ISourceFileImpl

      `getFileStore_`

    - ### Methods inherited from interface org.eclipse.handly.model.impl.support.ISourceFileImplSupport

      `acquireExistingWorkingCopy_, becomeWorkingCopy_, buildSourceStructure_, buildStructure_, close_, defaultEquals_, defaultHashCode_, fileExists_, getBuffer_, getFileBuffer_, getFileSnapshotProvider_, getReconcileOperation_, getWorkingCopyContext_, isWorkingCopy_, needsReconciling_, newWorkingCopyContext_, openParent_, reconcile_, releaseWorkingCopy_, toStringName_, validateExistence_, workingCopyModeChanged_`

- - ### Constructor Detail

    - #### WorkspaceSourceFile

          public WorkspaceSourceFile​(IElement parent,
                                     org.eclipse.core.resources.IFile file)

      Constructs a handle for a source file with the given parent element and the given underlying `IFile`.
      Parameters:
        `parent` - the parent of the element, or `null` if the element has no parent
        `file` - the underlying `IFile` (not `null`)

  - ### Method Detail

    - #### getResource_

          public final org.eclipse.core.resources.IResource getResource_()

      Returns the underlying `IFile`. This is a handle-only method.
      Returns:
        the underlying `IFile` (never `null`)

    - #### getFile_

          public final org.eclipse.core.resources.IFile getFile_()

      Returns the underlying `IFile`. This is a handle-only method.
      Returns:
        the underlying `IFile` (never `null`)

    - #### getFileObject_

          public final java.lang.Object getFileObject_()

      Returns the underlying `IFile`. This is a handle-only method.
      Returns:
        the underlying `IFile` (never `null`)
      Since:
        1.3
      See Also:
        `ISourceFileImpl.getFile_()`, `ISourceFileImpl.getFileStore_()`