Package org.eclipse.jdt.core.search

# Interface IJavaSearchConstants

public interface IJavaSearchConstants

This interface defines the constants used by the search engine.

This interface declares constants only.

See Also:
  - `SearchEngine`
Restriction:
  This interface is not intended to be implemented by clients.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ALL_OCCURRENCES`
The search result is a declaration, a reference, or an implementer of an interface.
`static final char[]`
`ALL_UNNAMED`
The unnamed module is represented by this constant for making the intent explicit in searches involving modules
`static final int`
`ANNOTATION_TYPE`
The searched element is an annotation type.
`static final int`
`ANNOTATION_TYPE_REFERENCE`
Return only type references used as an annotation.
`static final int`
`CANCEL_IF_NOT_READY_TO_SEARCH`
The search operation throws an `org.eclipse.core.runtime.OperationCanceledException` if the underlying indexer has not finished indexing the workspace.
`static final boolean`
`CASE_INSENSITIVE`
Deprecated.
Use the methods that take the matchMode without `SearchPattern.R_CASE_SENSITIVE` as a matchRule instead.
`static final boolean`
`CASE_SENSITIVE`
Deprecated.
Use the methods that take the matchMode with `SearchPattern.R_CASE_SENSITIVE` as a matchRule instead.
`static final int`
`CAST_TYPE_REFERENCE`
Return only type references used in a cast expression.
`static final int`
`CATCH_TYPE_REFERENCE`
Return only type references used in a catch header.
`static final int`
`CLASS`
The searched element is a class.
`static final int`
`CLASS_AND_ENUM`
The searched element is a class or enum type.
`static final int`
`CLASS_AND_INTERFACE`
The searched element is a class or interface type.
`static final int`
`CLASS_INSTANCE_CREATION_TYPE_REFERENCE`
Return only type references used in class instance creation.
`static final int`
`CONSTRUCTOR`
The searched element is a constructor.
`static final int`
`DECLARATIONS`
The search result is a declaration.
`static final int`
`ENUM`
The searched element is an enum.
`static final int`
`EXACT_MATCH`
Deprecated.
Use `SearchPattern.R_EXACT_MATCH` instead.
`static final int`
`FIELD`
The searched element is a field.
`static final int`
`FIELD_DECLARATION_TYPE_REFERENCE`
Return only type references used as the type of a field declaration.
`static final int`
`FORCE_IMMEDIATE_SEARCH`
The search operation starts immediately, even if the underlying indexer has not finished indexing the workspace.
`static final int`
`IGNORE_DECLARING_TYPE`
Ignore declaring type while searching result.
`static final int`
`IGNORE_RETURN_TYPE`
Ignore return type while searching result.
`static final int`
`IMPLEMENTORS`
The search result is a type that implements an interface or extends a class.
`static final int`
`IMPLICIT_THIS_REFERENCE`
Return only field accesses or method invocations without any qualification.
`static final int`
`IMPORT_DECLARATION_TYPE_REFERENCE`
Return only type references used in an import declaration.
`static final int`
`INSTANCEOF_TYPE_REFERENCE`
Return only type references used as a type of an `instanceof` expression.
`static final int`
`INTERFACE`
The searched element is an interface.
`static final int`
`INTERFACE_AND_ANNOTATION`
The searched element is an interface or annotation type.
`static final int`
`LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE`
Return only type references used as the type of a local variable declaration.
`static final int`
`METHOD`
The searched element is a method.
`static final int`
`METHOD_REFERENCE_EXPRESSION`
Return only method reference expressions, e.g.
`static final int`
`MODULE`
The searched element is a module.
`static final int`
`MODULE_GRAPH`
When searching for Type Declaration matches, and if a module is given, this will find type declaration matches in this module as well as the dependent module graph of the given module.
`static final int`
`PACKAGE`
The searched element is a package.
`static final int`
`PARAMETER_DECLARATION_TYPE_REFERENCE`
Return only type references used as the type of a method parameter declaration.
`static final int`
`PATTERN_MATCH`
Deprecated.
Use `SearchPattern.R_PATTERN_MATCH` instead.
`static final int`
`PERMITTYPE_TYPE_REFERENCE`
Return only type references used as a permit type (Java 17)
`static final int`
`PREFIX_MATCH`
Deprecated.
Use `SearchPattern.R_PREFIX_MATCH` instead.
`static final int`
`QUALIFIED_REFERENCE`
Return only qualified field accesses or qualified method invocations.
`static final int`
`READ_ACCESSES`
When searching for field matches, it will exclusively find read accesses, as opposed to write accesses.
`static final int`
`REFERENCES`
The search result is a reference.
`static final int`
`RETURN_TYPE_REFERENCE`
Return only type references used as a method return type.
`static final int`
`SUPER_REFERENCE`
Return only super field accesses or super method invocations (e.g. using the `super` qualifier).
`static final int`
`SUPERTYPE_TYPE_REFERENCE`
Return only type references used as a super type or as a super interface.
`static final int`
`THIS_REFERENCE`
Return only primary field accesses or primary method invocations (e.g. using the `this` qualifier).
`static final int`
`THROWS_CLAUSE_TYPE_REFERENCE`
Return only type references used in a throws clause.
`static final int`
`TYPE`
The searched element is a type, which may include classes, interfaces, enums, and annotation types.
`static final int`
`TYPE_ARGUMENT_TYPE_REFERENCE`
Return only type references used as a type argument in a parameterized type or a parameterized method.
`static final int`
`TYPE_VARIABLE_BOUND_TYPE_REFERENCE`
Return only type references used as a type variable bound.
`static final int`
`UNKNOWN`
The nature of searched element or the nature of match in unknown.
`static final int`
`WAIT_UNTIL_READY_TO_SEARCH`
The search operation waits for the underlying indexer to finish indexing the workspace before starting the search.
`static final int`
`WILDCARD_BOUND_TYPE_REFERENCE`
Return only type references used as a wildcard bound.
`static final int`
`WRITE_ACCESSES`
When searching for field matches, it will exclusively find write accesses, as opposed to read accesses.

## Field Details

### UNKNOWN

static final int UNKNOWN
The nature of searched element or the nature of match in unknown.

See Also:
  - Constant Field Values

### TYPE

static final int TYPE
The searched element is a type, which may include classes, interfaces, enums, and annotation types.

See Also:
  - Constant Field Values
Category:
  searchFor

### METHOD

static final int METHOD
The searched element is a method.

See Also:
  - Constant Field Values
Category:
  searchFor

### PACKAGE

static final int PACKAGE
The searched element is a package.

See Also:
  - Constant Field Values
Category:
  searchFor

### CONSTRUCTOR

static final int CONSTRUCTOR
The searched element is a constructor.

See Also:
  - Constant Field Values
Category:
  searchFor

### FIELD

static final int FIELD
The searched element is a field.

See Also:
  - Constant Field Values
Category:
  searchFor

### CLASS

static final int CLASS
The searched element is a class. More selective than using `TYPE`.

See Also:
  - Constant Field Values
Category:
  searchFor

### INTERFACE

static final int INTERFACE
The searched element is an interface. More selective than using `TYPE`.

See Also:
  - Constant Field Values
Category:
  searchFor

### ENUM

static final int ENUM
The searched element is an enum. More selective than using `TYPE`.

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  searchFor

### ANNOTATION_TYPE

static final int ANNOTATION_TYPE
The searched element is an annotation type. More selective than using `TYPE`.

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  searchFor

### CLASS_AND_ENUM

static final int CLASS_AND_ENUM
The searched element is a class or enum type. More selective than using `TYPE`.

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  searchFor

### CLASS_AND_INTERFACE

static final int CLASS_AND_INTERFACE
The searched element is a class or interface type. More selective than using `TYPE`.

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  searchFor

### INTERFACE_AND_ANNOTATION

static final int INTERFACE_AND_ANNOTATION
The searched element is an interface or annotation type. More selective than using `TYPE`.

Since:
  3.3
See Also:
  - Constant Field Values
Category:
  searchFor

### MODULE

static final int MODULE
The searched element is a module.

Since:
  3.14
See Also:
  - Constant Field Values
Category:
  searchFor

### DECLARATIONS

static final int DECLARATIONS
The search result is a declaration. Can be used in conjunction with any of the nature of searched elements so as to better narrow down the search.

See Also:
  - Constant Field Values
Category:
  limitTo

### IMPLEMENTORS

static final int IMPLEMENTORS
The search result is a type that implements an interface or extends a class. Used in conjunction with either TYPE or CLASS or INTERFACE, it will respectively search for any type implementing/extending a type, or rather exclusively search for classes implementing/extending the type, or interfaces extending the type.

See Also:
  - Constant Field Values
Category:
  limitTo

### REFERENCES

static final int REFERENCES
The search result is a reference. Can be used in conjunction with any of the nature of searched elements so as to better narrow down the search. References can contain implementers since they are more generic kind of matches.

See Also:
  - Constant Field Values
Category:
  limitTo

### ALL_OCCURRENCES

static final int ALL_OCCURRENCES
The search result is a declaration, a reference, or an implementer of an interface. Can be used in conjunction with any of the nature of searched elements so as to better narrow down the search.

See Also:
  - Constant Field Values
Category:
  limitTo

### READ_ACCESSES

static final int READ_ACCESSES
When searching for field matches, it will exclusively find read accesses, as opposed to write accesses. Note that some expressions are considered both as field read/write accesses: for example, x++; x+= 1;

Since:
  2.0
See Also:
  - Constant Field Values
Category:
  limitTo

### WRITE_ACCESSES

static final int WRITE_ACCESSES
When searching for field matches, it will exclusively find write accesses, as opposed to read accesses. Note that some expressions are considered both as field read/write accesses: for example, x++; x+= 1;

Since:
  2.0
See Also:
  - Constant Field Values
Category:
  limitTo

### MODULE_GRAPH

static final int MODULE_GRAPH
When searching for Type Declaration matches, and if a module is given, this will find type declaration matches in this module as well as the dependent module graph of the given module.

Since:
  3.14
See Also:
  - Constant Field Values
Category:
  limitTo

### IGNORE_DECLARING_TYPE

static final int IGNORE_DECLARING_TYPE
Ignore declaring type while searching result. Can be used in conjunction with any of the nature of match.

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  limitTo

### IGNORE_RETURN_TYPE

static final int IGNORE_RETURN_TYPE
Ignore return type while searching result. Can be used in conjunction with any other nature of match. Note that:

- for fields search, pattern will ignore field type
- this flag will have no effect for types search

Since:
  3.1
See Also:
  - Constant Field Values
Category:
  limitTo

### FIELD_DECLARATION_TYPE_REFERENCE

static final int FIELD_DECLARATION_TYPE_REFERENCE
Return only type references used as the type of a field declaration.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE

static final int LOCAL_VARIABLE_DECLARATION_TYPE_REFERENCE
Return only type references used as the type of a local variable declaration.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### PARAMETER_DECLARATION_TYPE_REFERENCE

static final int PARAMETER_DECLARATION_TYPE_REFERENCE
Return only type references used as the type of a method parameter declaration.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### SUPERTYPE_TYPE_REFERENCE

static final int SUPERTYPE_TYPE_REFERENCE
Return only type references used as a super type or as a super interface.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### THROWS_CLAUSE_TYPE_REFERENCE

static final int THROWS_CLAUSE_TYPE_REFERENCE
Return only type references used in a throws clause.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### CAST_TYPE_REFERENCE

static final int CAST_TYPE_REFERENCE
Return only type references used in a cast expression.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### CATCH_TYPE_REFERENCE

static final int CATCH_TYPE_REFERENCE
Return only type references used in a catch header.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### CLASS_INSTANCE_CREATION_TYPE_REFERENCE

static final int CLASS_INSTANCE_CREATION_TYPE_REFERENCE
Return only type references used in class instance creation.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Example:

     public class Test {
            Test() {}
            static Test bar()  {
                    return new Test();
            }
     }

Searching references to the type `Test` using this flag in the above snippet will match only the reference in italic.

Note that array creations are not returned when using this flag.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### RETURN_TYPE_REFERENCE

static final int RETURN_TYPE_REFERENCE
Return only type references used as a method return type.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### IMPORT_DECLARATION_TYPE_REFERENCE

static final int IMPORT_DECLARATION_TYPE_REFERENCE
Return only type references used in an import declaration.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### ANNOTATION_TYPE_REFERENCE

static final int ANNOTATION_TYPE_REFERENCE
Return only type references used as an annotation.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### TYPE_ARGUMENT_TYPE_REFERENCE

static final int TYPE_ARGUMENT_TYPE_REFERENCE
Return only type references used as a type argument in a parameterized type or a parameterized method.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### TYPE_VARIABLE_BOUND_TYPE_REFERENCE

static final int TYPE_VARIABLE_BOUND_TYPE_REFERENCE
Return only type references used as a type variable bound.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### WILDCARD_BOUND_TYPE_REFERENCE

static final int WILDCARD_BOUND_TYPE_REFERENCE
Return only type references used as a wildcard bound.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### INSTANCEOF_TYPE_REFERENCE

static final int INSTANCEOF_TYPE_REFERENCE
Return only type references used as a type of an `instanceof` expression.

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### SUPER_REFERENCE

static final int SUPER_REFERENCE
Return only super field accesses or super method invocations (e.g. using the `super` qualifier).

When this flag is set, the kind of returned matches will depend on the specified nature of the searched element:

- for the `FIELD` nature, only `FieldReferenceMatch` matches will be returned,
- for the `METHOD` nature, only `MethodReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### QUALIFIED_REFERENCE

static final int QUALIFIED_REFERENCE
Return only qualified field accesses or qualified method invocations.

When this flag is set, the kind of returned matches will depend on the specified nature of the searched element:

- for the `FIELD` nature, only `FieldReferenceMatch` matches will be returned,
- for the `METHOD` nature, only `MethodReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### THIS_REFERENCE

static final int THIS_REFERENCE
Return only primary field accesses or primary method invocations (e.g. using the `this` qualifier).

When this flag is set, the kind of returned matches will depend on the specified nature of the searched element:

- for the `FIELD` nature, only `FieldReferenceMatch` matches will be returned,
- for the `METHOD` nature, only `MethodReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### IMPLICIT_THIS_REFERENCE

static final int IMPLICIT_THIS_REFERENCE
Return only field accesses or method invocations without any qualification.

When this flag is set, the kind of returned matches will depend on the specified nature of the searched element:

- for the `FIELD` nature, only `FieldReferenceMatch` matches will be returned,
- for the `METHOD` nature, only `MethodReferenceMatch` matches will be returned.

Since:
  3.4
See Also:
  - Constant Field Values
Category:
  limitTo

### METHOD_REFERENCE_EXPRESSION

static final int METHOD_REFERENCE_EXPRESSION
Return only method reference expressions, e.g. `A::foo`.

When this flag is set, only `MethodReferenceMatch` matches will be returned.

Since:
  3.10
See Also:
  - Constant Field Values
Category:
  limitTo

### PERMITTYPE_TYPE_REFERENCE

static final int PERMITTYPE_TYPE_REFERENCE
Return only type references used as a permit type (Java 17)

When this flag is set, only `TypeReferenceMatch` matches will be returned.

Since:
  3.24
See Also:
  - Constant Field Values
Category:
  limitTo

### EXACT_MATCH

static final int EXACT_MATCH
Deprecated.
Use `SearchPattern.R_EXACT_MATCH` instead.
The search pattern matches exactly the search result, that is, the source of the search result equals the search pattern.

See Also:
  - Constant Field Values
Category:
  matchRule

### PREFIX_MATCH

static final int PREFIX_MATCH
Deprecated.
Use `SearchPattern.R_PREFIX_MATCH` instead.
The search pattern is a prefix of the search result.

See Also:
  - Constant Field Values
Category:
  matchRule

### PATTERN_MATCH

static final int PATTERN_MATCH
Deprecated.
Use `SearchPattern.R_PATTERN_MATCH` instead.
The search pattern contains one or more wild cards ('*') where a wild-card can replace 0 or more characters in the search result.

See Also:
  - Constant Field Values
Category:
  matchRule

### CASE_SENSITIVE

static final boolean CASE_SENSITIVE
Deprecated.
Use the methods that take the matchMode with `SearchPattern.R_CASE_SENSITIVE` as a matchRule instead.
The search pattern matches the search result only if cases are the same.

See Also:
  - Constant Field Values
Category:
  matchRule

### CASE_INSENSITIVE

static final boolean CASE_INSENSITIVE
Deprecated.
Use the methods that take the matchMode without `SearchPattern.R_CASE_SENSITIVE` as a matchRule instead.
The search pattern ignores cases in the search result.

See Also:
  - Constant Field Values
Category:
  matchRule

### FORCE_IMMEDIATE_SEARCH

static final int FORCE_IMMEDIATE_SEARCH
The search operation starts immediately, even if the underlying indexer has not finished indexing the workspace. Results will more likely not contain all the matches.

See Also:
  - Constant Field Values

### CANCEL_IF_NOT_READY_TO_SEARCH

static final int CANCEL_IF_NOT_READY_TO_SEARCH
The search operation throws an `org.eclipse.core.runtime.OperationCanceledException` if the underlying indexer has not finished indexing the workspace.

See Also:
  - Constant Field Values

### WAIT_UNTIL_READY_TO_SEARCH

static final int WAIT_UNTIL_READY_TO_SEARCH
The search operation waits for the underlying indexer to finish indexing the workspace before starting the search.

See Also:
  - Constant Field Values

### ALL_UNNAMED

static final char[] ALL_UNNAMED
The unnamed module is represented by this constant for making the intent explicit in searches involving modules

Since:
  3.14