# Package org.eclipse.wst.jsdt.core

Interface Summary
IAccessRule: Describes an access rule to source and class files on a includepath entry.
IBuffer: A buffer contains the text contents of a resource.
IBufferChangedListener: A listener, which gets notified when the contents of a specific buffer have changed, or when the buffer is closed.
IBufferFactory: Deprecated Use `WorkingCopyOwner` instead Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
IClassFile: Represents an entire non-editable JavaScript file.
ICodeAssist: Common protocol for JavaScript elements that support source code assist and code resolve.
ICorrectionRequestor: A callback interface for receiving javaScript problem correction.
IElementChangedListener: An element changed listener receives notification of changes to JavaScript elements maintained by the JavaScript model.
IExportContainer: Represents an export container; a child of a JavaScript unit that contains all (and only) the export declarations.
IExportDeclaration: Represents an export declaration in JavaScript unit.
IField: Represents a field declared in a type or a var declared at the file scope.
IFunction: Represents a function or a method (or constructor) declared in a type.
IFunctionContainer: Represents a container of methods and fields/vars (either an `IJavaScriptUnit` or an `IType`).
IImportContainer: Represents an import container is a child of a JavaScript unit that contains all (and only) the import declarations.
IImportDeclaration: Represents an import declaration in JavaScript unit.
IIncludePathAttribute: A includepath attribute defines a name/value pair that can be persisted with a includepath entry.
IIncludePathEntry: An entry on a JavaScript project includepath identifying one or more package fragment roots.
IInitializer: Represents a stand-alone instance or class (static) initializer in a type.
IJarEntryResource: A jar entry corresponding to a non-Java resource in an archive `IPackageFragment` or `IPackageFragmentRoot`.
IJavaScriptElement: Common protocol for all elements provided by the JavaScript model.
IJavaScriptElementDelta: A JavaScript element delta describes changes in JavaScript element between two discrete points in time.
IJavaScriptModel: Represent the root JavaScript element corresponding to the workspace.
IJavaScriptModelMarker: Markers used by the JavaScript model.
IJavaScriptModelStatus: Represents the outcome of an JavaScript model operation.
IJavaScriptModelStatusConstants: Status codes used with JavaScript model status objects.
IJavaScriptProject: A JavaScript project represents a view of a project resource in terms of JavaScript elements such as package fragments, types, methods and fields.
IJavaScriptUnit: Represents an entire JavaScript file (source file with one of the `JavaScript-like extensions`).
IJsGlobalScopeContainer: Interface of a includepath container.
IJsGlobalScopeContainerInitializer: Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
ILocalVariable: Represents a local variable declared in a method..
ILookupScope: Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
IMember: Common protocol for JavaScript elements that can be members of javaScript files or types.
IOpenable: Common protocol for JavaScript elements that must be opened before they can be navigated or modified.
IPackageFragment: A package fragment (or source folder) is a portion of the workspace corresponding to an entire package, or to a portion thereof.
IPackageFragmentRoot: A package fragment root (or source folder root) contains a set of source folders (package fragments).
IParent: Common protocol for JavaScript elements that contain other JavaScript elements.
IProblemRequestor: A callback interface for receiving javaScript problem as they are discovered by some JavaScript operation.
IRegion: A JavaScript model region describes a hierarchical set of elements.
ISourceManipulation: Common protocol for JavaScript elements that support source code manipulations such as copy, move, rename, and delete.
ISourceRange: A source range defines an element's source coordinates relative to its source buffer.
ISourceReference: Common protocol for JavaScript elements that have associated source code.
IType: Represents a source type in a JavaScript file (either a top-level type, a member type, or a local type) The children are of type `IMember`, which includes `IField`, `IFunction`, `IInitializer` and `IType`.
ITypeHierarchy: A type hierarchy provides navigations between a type and its resolved supertypes and subtypes for a specific type or for all types within a region.
ITypeHierarchyChangedListener: A listener which gets notified when a particular type hierarchy object changes.
ITypeRoot: Represents an entire JavaScript type root (either an `IJavaScriptUnit` or an `IClassFile`).

Class Summary
BindingKey: Utility class to decode or create a binding key.
BufferChangedEvent: A buffer changed event describes how a buffer has changed.
CompletionContext: Completion context.
CompletionFlags: Utility class for decoding additional flags in completion proposal.
CompletionProposal: Completion proposal.
CompletionRequestor: Abstract base class for a completion requestor which is passed completion proposals as they are generated in response to a code assist request.
CorrectionEngine: This class is the entry point for source corrections.
ElementChangedEvent: An element changed event describes a change to the structure or contents of a tree of JavaScript elements.
Flags: Utility class for decoding modifier flags in JavaScript elements.
JavaScriptConventions: Provides methods for checking JavaScript-specific conventions such as name syntax.
JavaScriptCore: The plug-in runtime class for the JavaScript model plug-in containing the core (UI-free) support for JavaScript projects.
JavaScriptModelException: A checked exception representing a failure in the JavaScript model.
JSDScopeUtil: (mostly) static methods to figure out includepath entries and container initializers * Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
JsGlobalScopeContainerInitializer: Abstract base implementation of all includepath container initializer.
JsGlobalScopeVariableInitializer: Abstract base implementation of all includepath variable initializers.
LibrarySuperType: Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
Messages
NamingConventions: Provides methods for computing JavaScript-specific names.
Signature: Provides methods for encoding and decoding type and method signature strings.
ToolFactory: Factory for creating various compiler tools, such as scanners, parsers and compilers.
WorkingCopyOwner: The owner of an `IJavaScriptUnit` handle in working copy mode.

Exception Summary
UnimplementedException