public abstract class MacroRegistry
extends java.lang.Object
The MacroRegistry stores MacroExpander instances, which are capable of translating specific, escaped macro strings (e.g. "${mymacro}") into context specific strings (e.g. "c:\currently\selected\File.java").
You can use the macro registry to query registered MacroExpanders, register additional MacroExpanders, or to actually carry out macro expansion on a given string for a given context.
This class should not be subclassed by extension writers.
| Constructor and Description | 
|---|
MacroRegistry()  | 
| Modifier and Type | Method and Description | 
|---|---|
abstract void | 
deregister(MacroExpander expander)
Deprecated. 
 
since 11.0. No replacement. 
 | 
java.lang.String | 
expand(java.lang.String inputString,
      Context context)
Expand macros in the specified String for the specified IDE context, and
 return a String containing expanded macros. 
 | 
abstract java.lang.String | 
expand(java.lang.String inputString,
      Context context,
      boolean isSample)
Expand macros in the specified String for the specified IDE context, and
 return a String containing expanded macros. 
 | 
abstract MacroExpander | 
findMacro(java.lang.String moniker)
Finds the macro with the specified moniker (name). 
 | 
abstract java.util.Collection<MacroExpander> | 
getMacros()
Get all registered macros. 
 | 
abstract MacroPicker | 
getPicker(ExternalToolType type,
         boolean onlyDirectories)
Get the macro picker UI. 
 | 
MacroTextField | 
getTextField(ExternalToolType type,
            boolean onlyDirectories)
Get a completion-insight enabled text field for this registry. 
 | 
java.util.Iterator<MacroExpander> | 
iterator()
Deprecated. 
 
since 11.0. use getMacros().iterator(). 
 | 
abstract void | 
register(MacroExpander expander)
Deprecated. 
 
since 11.0. Register macros using the <externaltools>
    section of the extension manifest. 
 | 
public abstract MacroExpander findMacro(java.lang.String moniker)
moniker - the moniker to find. Must not be null.public java.util.Iterator<MacroExpander> iterator()
public abstract java.util.Collection<MacroExpander> getMacros()
public abstract void register(MacroExpander expander)
expander - the expander to registerpublic abstract void deregister(MacroExpander expander)
expander - the expander to deregisterpublic abstract java.lang.String expand(java.lang.String inputString,
                                        Context context,
                                        boolean isSample)
inputString - the string to expandcontext - the IDE context to use for macro expansionpublic java.lang.String expand(java.lang.String inputString,
                               Context context)
inputString - the string to expandcontext - the IDE context to use for macro expansionpublic abstract MacroPicker getPicker(ExternalToolType type, boolean onlyDirectories)
type - the external tool type to get a picker foronlyDirectories - if true, only directory macros will be displayed.public MacroTextField getTextField(ExternalToolType type, boolean onlyDirectories)
type - if not null, the available macros will be filtered
    to only show macros for the specified external tool typeonlyDirectories - if true, only directory based macros will be
    displayed