org.eclipse.wst.jsdt.core

## Class CompletionContext

- java.lang.Object
- - org.eclipse.wst.jsdt.internal.codeassist.InternalCompletionContext
  - - org.eclipse.wst.jsdt.core.CompletionContext

    public final class CompletionContext
    extends org.eclipse.wst.jsdt.internal.codeassist.InternalCompletionContext

Completion context. Represent the context in which the completion occurs.

This class is not intended to be instantiated or subclassed by clients.

See Also:
  `Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.`

### Field Summary

Fields
`static int` `TOKEN_KIND_NAME` The completion token is a name.
`static int` `TOKEN_KIND_STRING_LITERAL` The completion token is a string literal.
`static int` `TOKEN_KIND_UNKNOWN` The completion token is unknown.

### Fields inherited from class org.eclipse.wst.jsdt.internal.codeassist.InternalCompletionContext

`expectedTypesKeys, expectedTypesSignatures, javadoc, offset, token, tokenEnd, tokenKind, tokenStart`

### Constructor Summary

Constructors
Constructor and Description
`CompletionContext()`

### Method Summary

All Methods Instance Methods Concrete Methods
`char[][]` `getExpectedTypesKeys()` Return keys of expected types of a potential completion proposal at the completion position.
`char[][]` `getExpectedTypesSignatures()` Return signatures of expected types of a potential completion proposal at the completion position.
`int` `getOffset()` Returns the offset position in the source file buffer after which code assist is requested.
`char[]` `getToken()` Returns the completed token.
`int` `getTokenEnd()` Returns the character index of the end (exclusive) of the subrange in the source file buffer containing the relevant token.
`int` `getTokenKind()` Returns the kind of completion token being proposed.
`int` `getTokenStart()` Returns the character index of the start of the subrange in the source file buffer containing the relevant token being completed.
`boolean` `isInJsdoc()` Tell user whether completion takes place in a jsdoc comment or not.
`boolean` `isInJsdocFormalReference()` Tell user whether completion takes place in a formal reference of a jsdoc tag or not.
`boolean` `isInJsdocText()` Tell user whether completion takes place in text area of a jsdoc comment or not.
`java.lang.String` `toString()`

### Methods inherited from class org.eclipse.wst.jsdt.internal.codeassist.InternalCompletionContext

`setExpectedTypesKeys, setExpectedTypesSignatures, setJavadoc, setOffset, setToken, setTokenKind, setTokenRange, setTokenRange`

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

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

### Field Detail

#### TOKEN_KIND_UNKNOWN

    public static final int TOKEN_KIND_UNKNOWN

The completion token is unknown.

See Also:
  Constant Field Values

#### TOKEN_KIND_NAME

    public static final int TOKEN_KIND_NAME

The completion token is a name.

See Also:
  Constant Field Values

#### TOKEN_KIND_STRING_LITERAL

    public static final int TOKEN_KIND_STRING_LITERAL

The completion token is a string literal. The string literal ends quote can be not present the source. `"foo"` or `"foo`.

See Also:
  Constant Field Values

### Constructor Detail

#### CompletionContext

    public CompletionContext()

### Method Detail

#### isInJsdoc

    public boolean isInJsdoc()

Tell user whether completion takes place in a jsdoc comment or not.

Returns:
  boolean true if completion takes place in a jsdoc comment, false otherwise.

#### isInJsdocText

    public boolean isInJsdocText()

Tell user whether completion takes place in text area of a jsdoc comment or not.

Returns:
  boolean true if completion takes place in a text area of a jsdoc comment, false otherwise.

#### isInJsdocFormalReference

    public boolean isInJsdocFormalReference()

Tell user whether completion takes place in a formal reference of a jsdoc tag or not. Tags with formal reference are:

- @see
- @throws
- @exception
- {@link Object}
- {@linkplain Object}
- {@value} when compiler compliance is set at leats to 1.5

Returns:
  boolean true if completion takes place in formal reference of a jsdoc tag, false otherwise.

#### getExpectedTypesSignatures

    public char[][] getExpectedTypesSignatures()

Return signatures of expected types of a potential completion proposal at the completion position. It's not mandatory to a completion proposal to respect this expectation.

Returns:
  signatures expected types of a potential completion proposal at the completion position or `null` if there is no expected types.
See Also:
  `Signature`

#### getExpectedTypesKeys

    public char[][] getExpectedTypesKeys()

Return keys of expected types of a potential completion proposal at the completion position. It's not mandatory to a completion proposal to respect this expectation.

Returns:
  keys of expected types of a potential completion proposal at the completion position or `null` if there is no expected types.
See Also:
  `org.eclipse.wst.jsdt.core.dom.ASTParser#createASTs(IJavaScriptUnit[], String[], org.eclipse.wst.jsdt.core.dom.ASTRequestor, org.eclipse.core.runtime.IProgressMonitor)`

#### getToken

    public char[] getToken()

Returns the completed token. This token is either the identifier or JavaScript language keyword or the string literal under, immediately preceding, the original request offset. If the original request offset is not within or immediately after an identifier or keyword or a string literal then the returned value is `null`.

Returns:
  completed token or `null`

#### getTokenKind

    public int getTokenKind()

Returns the kind of completion token being proposed.

The set of different kinds of completion token is expected to change over time. It is strongly recommended that clients do not assume that the kind is one of the ones they know about, and code defensively for the possibility of unexpected future growth.

Returns:
  the kind; one of the kind constants declared on this class whose name starts with `TOKEN_KIND`, or possibly a kind unknown to the caller

#### getTokenStart

    public int getTokenStart()

Returns the character index of the start of the subrange in the source file buffer containing the relevant token being completed. This token is either the identifier or JavaScript language keyword under, or immediately preceding, the original request offset. If the original request offset is not within or immediately after an identifier or keyword, then the position returned is original request offset and the token range is empty.

Returns:
  character index of token start position (inclusive)

#### getTokenEnd

    public int getTokenEnd()

Returns the character index of the end (exclusive) of the subrange in the source file buffer containing the relevant token. When there is no relevant token, the range is empty (`getTokenEnd() == getTokenStart() - 1`).

Returns:
  character index of token end position (exclusive)

#### getOffset

    public int getOffset()

Returns the offset position in the source file buffer after which code assist is requested.

Returns:
  offset position in the source file buffer

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`