Package org.eclipse.cdt.utils.cdtvariables

## Class SupplierBasedCdtVariableSubstitutor

- java.lang.Object
- - org.eclipse.cdt.utils.cdtvariables.SupplierBasedCdtVariableSubstitutor

All Implemented Interfaces:
  `IVariableSubstitutor`

    public class SupplierBasedCdtVariableSubstitutor
    extends Object
    implements IVariableSubstitutor

### Nested Class Summary

Nested Classes
`protected class` `SupplierBasedCdtVariableSubstitutor.MacroDescriptor`
`protected class` `SupplierBasedCdtVariableSubstitutor.ResolvedMacro`

### Constructor Summary

Constructors
`SupplierBasedCdtVariableSubstitutor​(IVariableContextInfo contextInfo, String inexistentMacroValue, String listDelimiter)`
`SupplierBasedCdtVariableSubstitutor​(IVariableContextInfo contextInfo, String inexistentMacroValue, String listDelimiter, Map<?,​?> delimiterMap, String incorrectlyReferencedMacroValue)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addResolvedMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des, SupplierBasedCdtVariableSubstitutor.ResolvedMacro value)`
`protected boolean` `checkEqual​(Object o1, Object o2)`
`Map<?,​?>` `getDelimiterMap()`
`String` `getIncorrectlyReferencedMacroValue()`
`String` `getInexistentMacroValue()`
`String` `getListDelimiter()`
`IVariableContextInfo` `getMacroContextInfo()`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `getResolvedMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `removeResolvedMacro​(String name)`
`void` `reset()`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `resolveMacro​(String macroName)`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `resolveMacro​(ICdtVariable macro)`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `resolveMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)`
`protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro` `resolveParentMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor macroDes)`
`String` `resolveToString​(String macroName)` called to resolve to String the macro reference of the specified name
`protected String` `resolveToString​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)`
`String[]` `resolveToStringList​(String macroName)` called to resolve to String-List the macro reference of the specified name
`protected String[]` `resolveToStringList​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)`
`void` `setDelimiterMap​(Map<?,​?> delimiterMap)`
`void` `setIncorrectlyReferencedMacroValue​(String incorrectlyReferencedMacroValue)`
`void` `setInexistentMacroValue​(String inexistentMacroValue)`
`void` `setListDelimiter​(String listDelimiter)`
`void` `setMacroContextInfo​(IVariableContextInfo info)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SupplierBasedCdtVariableSubstitutor

    public SupplierBasedCdtVariableSubstitutor​(IVariableContextInfo contextInfo,
                                               String inexistentMacroValue,
                                               String listDelimiter)

#### SupplierBasedCdtVariableSubstitutor

    public SupplierBasedCdtVariableSubstitutor​(IVariableContextInfo contextInfo,
                                               String inexistentMacroValue,
                                               String listDelimiter,
                                               Map<?,​?> delimiterMap,
                                               String incorrectlyReferencedMacroValue)

### Method Detail

#### resolveToString

    protected String resolveToString​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)
                              throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveToStringList

    protected String[] resolveToStringList​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)
                                    throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveToString

    public String resolveToString​(String macroName)
                           throws CdtVariableException

Description copied from interface: `IVariableSubstitutor`
called to resolve to String the macro reference of the specified name

Specified by:
  `resolveToString` in interface `IVariableSubstitutor`
Parameters:
  `macroName` - the macro name
Returns:
  String
Throws:
  `CdtVariableException`

#### setMacroContextInfo

    public void setMacroContextInfo​(IVariableContextInfo info)
                             throws CdtVariableException

Throws:
  `CdtVariableException`

#### getResolvedMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro getResolvedMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)
                                                                          throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro resolveMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des)
                                                                      throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveToStringList

    public String[] resolveToStringList​(String macroName)
                                 throws CdtVariableException

Description copied from interface: `IVariableSubstitutor`
called to resolve to String-List the macro reference of the specified name

Specified by:
  `resolveToStringList` in interface `IVariableSubstitutor`
Parameters:
  `macroName` - the macro name
Returns:
  String[]
Throws:
  `CdtVariableException`

#### resolveMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro resolveMacro​(String macroName)
                                                                      throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveParentMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro resolveParentMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor macroDes)
                                                                            throws CdtVariableException

Throws:
  `CdtVariableException`

#### resolveMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro resolveMacro​(ICdtVariable macro)
                                                                      throws CdtVariableException

Throws:
  `CdtVariableException`

#### addResolvedMacro

    protected void addResolvedMacro​(SupplierBasedCdtVariableSubstitutor.MacroDescriptor des,
                                    SupplierBasedCdtVariableSubstitutor.ResolvedMacro value)

#### removeResolvedMacro

    protected SupplierBasedCdtVariableSubstitutor.ResolvedMacro removeResolvedMacro​(String name)

#### getMacroContextInfo

    public IVariableContextInfo getMacroContextInfo()

#### reset

    public void reset()
               throws CdtVariableException

Throws:
  `CdtVariableException`

#### getDelimiterMap

    public Map<?,​?> getDelimiterMap()

#### setDelimiterMap

    public void setDelimiterMap​(Map<?,​?> delimiterMap)
                         throws CdtVariableException

Throws:
  `CdtVariableException`

#### getIncorrectlyReferencedMacroValue

    public String getIncorrectlyReferencedMacroValue()

#### checkEqual

    protected boolean checkEqual​(Object o1,
                                 Object o2)

#### setIncorrectlyReferencedMacroValue

    public void setIncorrectlyReferencedMacroValue​(String incorrectlyReferencedMacroValue)
                                            throws CdtVariableException

Throws:
  `CdtVariableException`

#### getInexistentMacroValue

    public String getInexistentMacroValue()

#### setInexistentMacroValue

    public void setInexistentMacroValue​(String inexistentMacroValue)
                                 throws CdtVariableException

Throws:
  `CdtVariableException`

#### getListDelimiter

    public String getListDelimiter()

#### setListDelimiter

    public void setListDelimiter​(String listDelimiter)
                          throws CdtVariableException

Throws:
  `CdtVariableException`