public abstract class ExternalToolScanner
extends java.lang.Object
The abstract class for an object that can scan for external tools.
Note that only findTools() should implemented by any concrete subclass
canScan(), getId() and getName() all will be resolved from the declaratively
registered data and will be resolved from the LazyScanner wrapper rather than
the implementation here or in the concrete subclass.
Search for external tools. Return an array of ExternalTool instances.
Parameters:
existingTools - tools that already exist - may be used to avoid
creating duplicates.
Returns:
tools found on this system
getId
@NotNull
public java.lang.String getId()
Get a unique ID for this scanner. This is used to remember whether the
scanner has been asked to find tools already.
Note: this method should not be overridden by declarative implementations
Returns:
some unique identifier for this scanner. You must not return
null from this method.
canScan
public boolean canScan()
Can this scanner scan in the current environment (e.g. operating system)?
Note: this method should not be overridden by declarative implementations
Returns:
true if this scanner can search for default external tools.
getName
@NotNull
public java.lang.String getName()
Get a unique name for this scanner. This is used to display to the
user
Note: this method should not be overridden by declarative implementations
Returns:
some unique name fo this scanner. You must not return
null from this method.