org.eclipse.wst.jsdt.core.infer

## Interface InferrenceProvider

All Known Implementing Classes:
  DefaultInferrenceProvider

    public interface InferrenceProvider

Implemented by contributors to the org.eclipse.wst.jsdt.core.infer.inferrenceSupport extension point 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` `MAYBE_THIS` Indicates that this InferrenceProvider, and its engine, should apply to a script file.
`static int` `NOT_THIS` Indicates that this InferrenceProvider, and its engine, do not apply.
`static int` `ONLY_THIS` Indicates that this InferrenceProvider, and its engine, are the only ones that should apply.

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `applysTo(IInferenceFile scriptFile)` Determine if this inference provider applies to a script
`java.lang.String` `getID()` Get the inference provider ID
`IInferEngine` `getInferEngine()` Get the inference engine for this inference provider, or null if one will not be provided.
`RefactoringSupport` `getRefactoringSupport()`
`ResolutionConfiguration` `getResolutionConfiguration()`

### Field Detail

#### ONLY_THIS

    static final int ONLY_THIS

Indicates that this InferrenceProvider, and its engine, are the only ones that should apply.

Its use is discouraged.

See Also:
  Constant Field Values

#### NOT_THIS

    static final int NOT_THIS

Indicates that this InferrenceProvider, and its engine, do not apply.

See Also:
  Constant Field Values

#### MAYBE_THIS

    static final int MAYBE_THIS

Indicates that this InferrenceProvider, and its engine, should apply to a script file.

See Also:
  Constant Field Values

### Method Detail

#### getInferEngine

    IInferEngine getInferEngine()

Get the inference engine for this inference provider, or null if one will not be provided. Implementors returning null are expected to return `NOT_THIS` for all calls to `getInferEngine()`

Returns:
  an inference engine

#### applysTo

    int applysTo(IInferenceFile scriptFile)

Determine if this inference provider applies to a script

Parameters:
  `scriptFile` - The script that the inferencing will be done for
Returns:
  `ONLY_THIS`, `NOT_THIS`, `MAYBE_THIS` depending on how much this inference provider applies to the specified script.

#### getID

    java.lang.String getID()

Get the inference provider ID

Returns:
  the id of this inference provider

#### getResolutionConfiguration

    ResolutionConfiguration getResolutionConfiguration()

Returns:
  the ResolutionConfiguration used to resolve the inferred classes

#### getRefactoringSupport

    RefactoringSupport getRefactoringSupport()

Returns:
  the RefactoringSupport used to provide refactoring for inferred types, or null if it is not offered.