org.eclipse.jdt.core
Class CompletionProposal

java.lang.Object
  extended by org.eclipse.jdt.internal.codeassist.InternalCompletionProposal
      extended by org.eclipse.jdt.core.CompletionProposal

public final class CompletionProposal
extends InternalCompletionProposal

Completion proposal.

In typical usage, the user working in a Java code editor issues a code assist command. This command results in a call to ICodeAssist.codeComplete(position, completionRequestor) passing the current position in the source code. The code assist engine analyzes the code in the buffer, determines what kind of Java language construct is at that position, and proposes ways to complete that construct. These proposals are instances of the class CompletionProposal. These proposals, perhaps after sorting and filtering, are presented to the user to make a choice.

The proposal is as follows: insert the completion string into the source file buffer, replacing the characters between the start and end. The string can be arbitrary; for example, it might include not only the name of a method but a set of parentheses. Moreover, the source range may include source positions before or after the source position where ICodeAssist.codeComplete was invoked. The rest of the information associated with the proposal is to provide context that may help a user to choose from among competing proposals.

The completion engine creates instances of this class.

Since:
3.0
See Also:
ICodeAssist.codeComplete(int, CompletionRequestor)

Field Summary
static int ANNOTATION_ATTRIBUTE_REF
          Completion is a reference to annotation's attribute.
static int ANONYMOUS_CLASS_DECLARATION
          Completion is a declaration of an anonymous class.
static int FIELD_IMPORT
          Completion is an import of reference to a static field.
static int FIELD_REF
          Completion is a reference to a field.
static int FIELD_REF_WITH_CASTED_RECEIVER
          Completion is a reference to a field with a casted receiver.
static int JAVADOC_BLOCK_TAG
          Completion is a javadoc block tag.
static int JAVADOC_FIELD_REF
          Completion is a link reference to a field in a javadoc text.
static int JAVADOC_INLINE_TAG
          Completion is a javadoc inline tag.
static int JAVADOC_METHOD_REF
          Completion is a link reference to a method in a javadoc text.
static int JAVADOC_PARAM_REF
          Completion is a method argument or a class/method type parameter in javadoc param tag.
static int JAVADOC_TYPE_REF
          Completion is a link reference to a type in a javadoc text.
static int JAVADOC_VALUE_REF
          Completion is a value reference to a static field in a javadoc text.
static int KEYWORD
          Completion is a keyword.
static int LABEL_REF
          Completion is a reference to a label.
static int LOCAL_VARIABLE_REF
          Completion is a reference to a local variable.
static int METHOD_DECLARATION
          Completion is a declaration of a method.
static int METHOD_IMPORT
          Completion is an import of reference to a static method.
static int METHOD_NAME_REFERENCE
          Completion is a reference to a method name.
static int METHOD_REF
          Completion is a reference to a method.
static int METHOD_REF_WITH_CASTED_RECEIVER
          Completion is a reference to a method with a casted receiver.
static int PACKAGE_REF
          Completion is a reference to a package.
static int POTENTIAL_METHOD_DECLARATION
          Completion is a declaration of a new potential method.
static int TYPE_IMPORT
          Completion is an import of reference to a type.
static int TYPE_REF
          Completion is a reference to a type.
static int VARIABLE_DECLARATION
          Completion is a declaration of a variable (locals, parameters, fields, etc.).
 
Method Summary
static CompletionProposal create(int kind, int completionOffset)
          Creates a basic completion proposal.
 char[][] findParameterNames(org.eclipse.core.runtime.IProgressMonitor monitor)
          Finds the method parameter names.
 int getAccessibility()
          Returns the accessibility of the proposal.
 int getAdditionalFlags()
          Returns the completion flags relevant in the context, or CompletionFlags.Default if none.
 char[] getCompletion()
          Returns the proposed sequence of characters to insert into the source file buffer, replacing the characters at the specified source range.
 int getCompletionLocation()
          Returns the character index in the source file buffer where source completion was requested (the offset parameter to ICodeAssist.codeComplete minus one).
 char[] getDeclarationKey()
          Returns the key of the relevant declaration in the context, or null if none.
 char[] getDeclarationSignature()
          Returns the type signature or package name of the relevant declaration in the context, or null if none.
 int getFlags()
          Returns the modifier flags relevant in the context, or Flags.AccDefault if none.
 char[] getKey()
          Returns the key relevant in the context, or null if none.
 int getKind()
          Returns the kind of completion being proposed.
 char[] getName()
          Returns the simple name of the method, field, member, or variable relevant in the context, or null if none.
 int getReceiverEnd()
          Returns the character index of the end (exclusive) of the subrange in the source file buffer containing the relevant receiver of the member being completed.
 char[] getReceiverSignature()
          Returns the type signature or package name of the relevant receiver in the context, or null if none.
 int getReceiverStart()
          Returns the character index of the start of the subrange in the source file buffer containing the relevant receiver of the member being completed.
 int getRelevance()
          Returns the relative relevance rating of this proposal.
 int getReplaceEnd()
          Returns the character index of the end of the subrange in the source file buffer to be replaced by the completion string.
 int getReplaceStart()
          Returns the character index of the start of the subrange in the source file buffer to be replaced by the completion string.
 CompletionProposal[] getRequiredProposals()
          Returns the required completion proposals.
 char[] getSignature()
          Returns the signature of the method or type relevant in the context, or null if none.
 int getTokenEnd()
          Returns the character index of the end (exclusive) of the subrange in the source file buffer containing the relevant token.
 int getTokenStart()
          Returns the character index of the start of the subrange in the source file buffer containing the relevant token being completed.
 boolean isConstructor()
          Returns whether this proposal is a constructor.
 void setAdditionalFlags(int additionalFlags)
          Sets the completion flags relevant in the context.
 void setCompletion(char[] completion)
          Sets the proposed sequence of characters to insert into the source file buffer, replacing the characters at the specified source range.
 void setDeclarationKey(char[] key)
          Sets the type or package key of the relevant declaration in the context, or null if none.
 void setDeclarationSignature(char[] signature)
          Sets the type or package signature of the relevant declaration in the context, or null if none.
 void setFlags(int flags)
          Sets the modifier flags relevant in the context.
 void setKey(char[] key)
          Sets the key of the method, field type, member type, relevant in the context, or null if none.
 void setName(char[] name)
          Sets the simple name of the method (type simple name for constructor), field, member, or variable relevant in the context, or null if none.
 void setParameterNames(char[][] parameterNames)
          Sets the method parameter names.
 void setReceiverRange(int startIndex, int endIndex)
          Sets the character indices of the subrange in the source file buffer containing the relevant receiver of the member being completed.
 void setReceiverSignature(char[] signature)
          Sets the type or package signature of the relevant receiver in the context, or null if none.
 void setRelevance(int rating)
          Sets the relative relevance rating of this proposal.
 void setReplaceRange(int startIndex, int endIndex)
          Sets the character indices of the subrange in the source file buffer to be replaced by the completion string.
 void setRequiredProposals(CompletionProposal[] proposals)
          Sets the list of required completion proposals, or null if none.
 void setSignature(char[] signature)
          Sets the signature of the method, field type, member type, relevant in the context, or null if none.
 void setTokenRange(int startIndex, int endIndex)
          Sets the character indices of the subrange in the source file buffer containing the relevant token being completed.
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.jdt.internal.codeassist.InternalCompletionProposal
setOriginalSignature
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ANONYMOUS_CLASS_DECLARATION

public static final int ANONYMOUS_CLASS_DECLARATION
Completion is a declaration of an anonymous class. This kind of completion might occur in a context like "new List^;" and complete it to "new List() {}".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

FIELD_REF

public static final int FIELD_REF
Completion is a reference to a field. This kind of completion might occur in a context like "this.ref^ = 0;" and complete it to "this.refcount = 0;".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

KEYWORD

public static final int KEYWORD
Completion is a keyword. This kind of completion might occur in a context like "public cl^ Foo {}" and complete it to "public class Foo {}".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

LABEL_REF

public static final int LABEL_REF
Completion is a reference to a label. This kind of completion might occur in a context like "break lo^;" and complete it to "break loop;".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

LOCAL_VARIABLE_REF

public static final int LOCAL_VARIABLE_REF
Completion is a reference to a local variable. This kind of completion might occur in a context like "ke^ = 4;" and complete it to "keys = 4;".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

METHOD_REF

public static final int METHOD_REF
Completion is a reference to a method. This kind of completion might occur in a context like "System.out.pr^();" and complete it to ""System.out.println();".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

METHOD_DECLARATION

public static final int METHOD_DECLARATION
Completion is a declaration of a method. This kind of completion might occur in a context like "new List() {si^};" and complete it to "new List() {public int size() {} };".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

PACKAGE_REF

public static final int PACKAGE_REF
Completion is a reference to a package. This kind of completion might occur in a context like "import java.u^.*;" and complete it to "import java.util.*;".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

TYPE_REF

public static final int TYPE_REF
Completion is a reference to a type. Any kind of type is allowed, including primitive types, reference types, array types, parameterized types, and type variables. This kind of completion might occur in a context like "public static Str^ key;" and complete it to "public static String key;".

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

VARIABLE_DECLARATION

public static final int VARIABLE_DECLARATION
Completion is a declaration of a variable (locals, parameters, fields, etc.).

The following additional context information is available for this kind of completion proposal at little extra cost:

See Also:
getKind(), Constant Field Values

POTENTIAL_METHOD_DECLARATION

public static final int POTENTIAL_METHOD_DECLARATION
Completion is a declaration of a new potential method. This kind of completion might occur in a context like "new List() {si^};" and complete it to "new List() {public int si() {} };".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.1
See Also:
getKind(), Constant Field Values

METHOD_NAME_REFERENCE

public static final int METHOD_NAME_REFERENCE
Completion is a reference to a method name. This kind of completion might occur in a context like "import p.X.fo^" and complete it to "import p.X.foo;".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.1
See Also:
getKind(), Constant Field Values

ANNOTATION_ATTRIBUTE_REF

public static final int ANNOTATION_ATTRIBUTE_REF
Completion is a reference to annotation's attribute. This kind of completion might occur in a context like "@Annot(attr^=value)" and complete it to "@Annot(attribute^=value)".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.1
See Also:
getKind(), Constant Field Values

JAVADOC_FIELD_REF

public static final int JAVADOC_FIELD_REF
Completion is a link reference to a field in a javadoc text. This kind of completion might occur in a context like " * blabla System.o^ blabla" and complete it to " * blabla {@link System#out } blabla".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_METHOD_REF

public static final int JAVADOC_METHOD_REF
Completion is a link reference to a method in a javadoc text. This kind of completion might occur in a context like " * blabla Runtime#get^ blabla" and complete it to " * blabla {@link Runtime#getRuntime() }".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_TYPE_REF

public static final int JAVADOC_TYPE_REF
Completion is a link reference to a type in a javadoc text. Any kind of type is allowed, including primitive types, reference types, array types, parameterized types, and type variables. This kind of completion might occur in a context like " * blabla Str^ blabla" and complete it to " * blabla {@link String } blabla".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_VALUE_REF

public static final int JAVADOC_VALUE_REF
Completion is a value reference to a static field in a javadoc text. This kind of completion might occur in a context like " * blabla System.o^ blabla" and complete it to " * blabla {@value System#out } blabla".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_PARAM_REF

public static final int JAVADOC_PARAM_REF
Completion is a method argument or a class/method type parameter in javadoc param tag. This kind of completion might occur in a context like " * @param arg^ blabla" and complete it to " * @param argument blabla". or " * @param <T^ blabla" and complete it to " * @param <TT> blabla".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_BLOCK_TAG

public static final int JAVADOC_BLOCK_TAG
Completion is a javadoc block tag. This kind of completion might occur in a context like " * @s^ blabla" and complete it to " * @see blabla".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

JAVADOC_INLINE_TAG

public static final int JAVADOC_INLINE_TAG
Completion is a javadoc inline tag. This kind of completion might occur in a context like " * Insert @l^ Object" and complete it to " * Insert {@link Object }".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.2
See Also:
getKind(), Constant Field Values

FIELD_IMPORT

public static final int FIELD_IMPORT
Completion is an import of reference to a static field.

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.3
See Also:
getKind(), Constant Field Values

METHOD_IMPORT

public static final int METHOD_IMPORT
Completion is an import of reference to a static method.

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.3
See Also:
getKind(), Constant Field Values

TYPE_IMPORT

public static final int TYPE_IMPORT
Completion is an import of reference to a type. Only reference to reference types are allowed.

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.3
See Also:
getKind(), Constant Field Values

METHOD_REF_WITH_CASTED_RECEIVER

public static final int METHOD_REF_WITH_CASTED_RECEIVER
Completion is a reference to a method with a casted receiver. This kind of completion might occur in a context like "receiver.fo^();" and complete it to ""((X)receiver).foo();".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.4
See Also:
getKind(), Constant Field Values

FIELD_REF_WITH_CASTED_RECEIVER

public static final int FIELD_REF_WITH_CASTED_RECEIVER
Completion is a reference to a field with a casted receiver. This kind of completion might occur in a context like "recevier.ref^ = 0;" and complete it to "((X)receiver).refcount = 0;".

The following additional context information is available for this kind of completion proposal at little extra cost:

Since:
3.4
See Also:
getKind(), Constant Field Values
Method Detail

create

public static CompletionProposal create(int kind,
                                        int completionOffset)
Creates a basic completion proposal. All instance field have plausible default values unless otherwise noted.

Note that the constructors for this class are internal to the Java model implementation. Clients cannot directly create CompletionProposal objects.

Parameters:
kind - one of the kind constants declared on this class
completionOffset - original offset of code completion request
Returns:
a new completion proposal

getAdditionalFlags

public int getAdditionalFlags()
Returns the completion flags relevant in the context, or CompletionFlags.Default if none.

This field is available for the following kinds of completion proposals:

For other kinds of completion proposals, this method returns CompletionFlags.Default.

Returns:
the completion flags, or CompletionFlags.Default if none
Since:
3.3
See Also:
CompletionFlags

setAdditionalFlags

public void setAdditionalFlags(int additionalFlags)
Sets the completion flags relevant in the context.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
additionalFlags - the completion flags, or CompletionFlags.Default if none
Since:
3.3

getKind

public int getKind()
Returns the kind of completion being proposed.

The set of different kinds of completion proposals 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, or possibly a kind unknown to the caller

getCompletionLocation

public int getCompletionLocation()
Returns the character index in the source file buffer where source completion was requested (the offset parameter to ICodeAssist.codeComplete minus one).

Returns:
character index in source file buffer
See Also:
ICodeAssist.codeComplete(int,CompletionRequestor)

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 Java 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 (getEndToken() == getStartToken()).

Returns:
character index of token end position (exclusive)

setTokenRange

public void setTokenRange(int startIndex,
                          int endIndex)
Sets the character indices of the subrange in the source file buffer containing the relevant token being completed. This token is either the identifier or Java 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 source range begins at original request offset and is empty.

If not set, defaults to empty subrange at [0,0).

Parameters:
startIndex - character index of token start position (inclusive)
endIndex - character index of token end position (exclusive)

getCompletion

public char[] getCompletion()
Returns the proposed sequence of characters to insert into the source file buffer, replacing the characters at the specified source range. The string can be arbitrary; for example, it might include not only the name of a method but a set of parentheses.

The client must not modify the array returned.

Returns:
the completion string

setCompletion

public void setCompletion(char[] completion)
Sets the proposed sequence of characters to insert into the source file buffer, replacing the characters at the specified source range. The string can be arbitrary; for example, it might include not only the name of a method but a set of parentheses.

If not set, defaults to an empty character array.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
completion - the completion string

getReplaceStart

public int getReplaceStart()
Returns the character index of the start of the subrange in the source file buffer to be replaced by the completion string. If the subrange is empty (getReplaceEnd() == getReplaceStart()), the completion string is to be inserted at this index.

Note that while the token subrange is precisely specified, the replacement range is loosely constrained and may not bear any direct relation to the original request offset. For example, it would be possible for a type completion to propose inserting an import declaration at the top of the compilation unit; or the completion might include trailing parentheses and punctuation for a method completion.

Returns:
replacement start position (inclusive)

getReplaceEnd

public int getReplaceEnd()
Returns the character index of the end of the subrange in the source file buffer to be replaced by the completion string. If the subrange is empty (getReplaceEnd() == getReplaceStart()), the completion string is to be inserted at this index.

Returns:
replacement end position (exclusive)

setReplaceRange

public void setReplaceRange(int startIndex,
                            int endIndex)
Sets the character indices of the subrange in the source file buffer to be replaced by the completion string. If the subrange is empty (startIndex == endIndex), the completion string is to be inserted at this index.

If not set, defaults to empty subrange at [0,0).

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
startIndex - character index of replacement start position (inclusive)
endIndex - character index of replacement end position (exclusive)

getRelevance

public int getRelevance()
Returns the relative relevance rating of this proposal.

Returns:
relevance rating of this proposal; ratings are positive; higher means better

setRelevance

public void setRelevance(int rating)
Sets the relative relevance rating of this proposal.

If not set, defaults to the lowest possible rating (1).

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
rating - relevance rating of this proposal; ratings are positive; higher means better

getDeclarationSignature

public char[] getDeclarationSignature()
Returns the type signature or package name of the relevant declaration in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
a type signature or a package name (depending on the kind of completion), or null if none
See Also:
Signature

getDeclarationKey

public char[] getDeclarationKey()
Returns the key of the relevant declaration in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
a key, or null if none
Since:
3.1
See Also:
ASTParser.createASTs(ICompilationUnit[], String[], org.eclipse.jdt.core.dom.ASTRequestor, IProgressMonitor)

setDeclarationSignature

public void setDeclarationSignature(char[] signature)
Sets the type or package signature of the relevant declaration in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
signature - the type or package signature, or null if none

setDeclarationKey

public void setDeclarationKey(char[] key)
Sets the type or package key of the relevant declaration in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
key - the type or package key, or null if none
Since:
3.1

getName

public char[] getName()
Returns the simple name of the method, field, member, or variable relevant in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
the keyword, field, method, local variable, or member name, or null if none

setName

public void setName(char[] name)
Sets the simple name of the method (type simple name for constructor), field, member, or variable relevant in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
name - the keyword, field, method, local variable, or member name, or null if none

getSignature

public char[] getSignature()
Returns the signature of the method or type relevant in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
the signature, or null if none
See Also:
Signature

getKey

public char[] getKey()
Returns the key relevant in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
the key, or null if none
Since:
3.1
See Also:
ASTParser.createASTs(ICompilationUnit[], String[], org.eclipse.jdt.core.dom.ASTRequestor, IProgressMonitor)

setSignature

public void setSignature(char[] signature)
Sets the signature of the method, field type, member type, relevant in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
signature - the signature, or null if none

setKey

public void setKey(char[] key)
Sets the key of the method, field type, member type, relevant in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
key - the key, or null if none
Since:
3.1

getFlags

public int getFlags()
Returns the modifier flags relevant in the context, or Flags.AccDefault if none.

This field is available for the following kinds of completion proposals:

For other kinds of completion proposals, this method returns Flags.AccDefault.

Returns:
the modifier flags, or Flags.AccDefault if none
See Also:
Flags

setFlags

public void setFlags(int flags)
Sets the modifier flags relevant in the context.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
flags - the modifier flags, or Flags.AccDefault if none

getRequiredProposals

public CompletionProposal[] getRequiredProposals()
Returns the required completion proposals. The proposal can be apply only if these required completion proposals are also applied. If the required proposal aren't applied the completion could create completion problems.

This field is available for the following kinds of completion proposals:

Other kinds of required proposals will be returned in the future, therefore clients of this API must allow with CompletionRequestor.setAllowsRequiredProposals(int, int, boolean) only kinds which are in this list to avoid unexpected results in the future.

A required proposal of a given kind is proposed even if CompletionRequestor.isIgnored(int) return true for that kind.

A required completion proposal cannot have required completion proposals.

Returns:
the required completion proposals, or null if none.
Since:
3.3
See Also:
CompletionRequestor.setAllowsRequiredProposals(int, int,boolean)

setRequiredProposals

public void setRequiredProposals(CompletionProposal[] proposals)
Sets the list of required completion proposals, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
proposals - the list of required completion proposals, or null if none
Since:
3.3

findParameterNames

public char[][] findParameterNames(org.eclipse.core.runtime.IProgressMonitor monitor)
Finds the method parameter names. This information is relevant to method reference (and method declaration proposals). Returns null if not available or not relevant.

The client must not modify the array returned.

Note that this is an expensive thing to compute, which may require parsing Java source files, etc. Use sparingly.

Parameters:
monitor - the progress monitor, or null if none
Returns:
the parameter names, or null if none or not available or not relevant

setParameterNames

public void setParameterNames(char[][] parameterNames)
Sets the method parameter names. This information is relevant to method reference (and method declaration proposals).

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
parameterNames - the parameter names, or null if none

getAccessibility

public int getAccessibility()
Returns the accessibility of the proposal.

This field is available for the following kinds of completion proposals:

For these kinds of completion proposals, this method returns IAccessRule.K_ACCESSIBLE or IAccessRule.K_DISCOURAGED or IAccessRule.K_NON_ACCESSIBLE. By default this method return IAccessRule.K_ACCESSIBLE.

Returns:
the accessibility of the proposal
Since:
3.1
See Also:
IAccessRule

isConstructor

public boolean isConstructor()
Returns whether this proposal is a constructor.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns false.

Returns:
true if the proposal is a constructor.
Since:
3.1

getReceiverSignature

public char[] getReceiverSignature()
Returns the type signature or package name of the relevant receiver in the context, or null if none.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns null. Clients must not modify the array returned.

Returns:
a type signature or a package name (depending on the kind of completion), or null if none
Since:
3.4
See Also:
Signature

getReceiverStart

public int getReceiverStart()
Returns the character index of the start of the subrange in the source file buffer containing the relevant receiver of the member being completed. This receiver is an expression.

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns 0.

Returns:
character index of receiver start position (inclusive)
Since:
3.4

getReceiverEnd

public int getReceiverEnd()
Returns the character index of the end (exclusive) of the subrange in the source file buffer containing the relevant receiver of the member being completed. *

This field is available for the following kinds of completion proposals:

For kinds of completion proposals, this method returns 0.

Returns:
character index of receiver end position (exclusive)
Since:
3.4

setReceiverSignature

public void setReceiverSignature(char[] signature)
Sets the type or package signature of the relevant receiver in the context, or null if none.

If not set, defaults to none.

The completion engine creates instances of this class and sets its properties; this method is not intended to be used by other clients.

Parameters:
signature - the type or package signature, or null if none
Since:
3.4

setReceiverRange

public void setReceiverRange(int startIndex,
                             int endIndex)
Sets the character indices of the subrange in the source file buffer containing the relevant receiver of the member being completed.

If not set, defaults to empty subrange at [0,0).

Parameters:
startIndex - character index of receiver start position (inclusive)
endIndex - character index of receiver end position (exclusive)
Since:
3.4

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object