org.eclipse.cdt.core.templateengine

## Class TemplateCore

- java.lang.Object
- - org.eclipse.cdt.core.templateengine.TemplateCore

    public class TemplateCore
    extends Object

TemplateCore class is responsible providing the non-UI part of template and initiating process part of Template Engine. This is created per TemplateDescriptor basis. Once The Template is created it creates a TemplateDescriptor for the XML file name given. Template class extends this class with additional UI elements that are part of the template.

Since:
  4.0

### Field Summary

Fields
`static Comparator<TemplateCore>` `TEMPLATE_ID_CASE_INSENSITIVE_COMPARATOR`

### Constructor Summary

Constructors
`protected` `TemplateCore(TemplateInfo templateInfo)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`org.eclipse.core.runtime.IStatus[]` `executeTemplateProcesses(org.eclipse.core.runtime.IProgressMonitor monitor, boolean showError)` initializeProcessBlockList() will create the ProcessBlockList, processPorcessBlockList() will invoke each process execution by assigning resources to each process (Ref.
`Set<String>` `getAllMissingMacrosInProcesses()` Returns All Missing Macros In Processes.
`String` `getDescription()`
`String` `getLabel()`
`List<String>` `getPersistTrueIDs()` This is the List of IDs from TemplateDescriptor with "attribute" Persist as "true"
`TemplateProcessHandler` `getProcessHandler()` TemplateDescriptor for which, this Template is created.
`static TemplateCore` `getTemplate(TemplateInfo templateInfo)` Gets the Template
`TemplateDescriptor` `getTemplateDescriptor()` TemplateDescriptor for which, this Template is created.
`String` `getTemplateId()`
`TemplateInfo` `getTemplateInfo()` return the TemplateInfo instance corresponding to this Template.
`String` `getTemplateType()`
`Map<String,String>` `getValueStore()` return the ValueStore maintained by this Template.
`void` `setDirty()` sets Dirty
`String` `toString()`

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

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

### Field Detail

#### TEMPLATE_ID_CASE_INSENSITIVE_COMPARATOR

    public static final Comparator<TemplateCore> TEMPLATE_ID_CASE_INSENSITIVE_COMPARATOR

### Constructor Detail

#### TemplateCore

    protected TemplateCore(TemplateInfo templateInfo)
                    throws TemplateInitializationException

Parameters:
  `templateInfo` - may not be null
Throws:
  `TemplateInitializationException`

### Method Detail

#### getAllMissingMacrosInProcesses

    public Set<String> getAllMissingMacrosInProcesses()

Returns All Missing Macros In Processes.

Returns:
  Set

#### getValueStore

    public Map<String,String> getValueStore()

return the ValueStore maintained by this Template.

Returns:
  ValueStore.

#### getPersistTrueIDs

    public List<String> getPersistTrueIDs()

This is the List of IDs from TemplateDescriptor with "attribute" Persist as "true"

Returns:
  Vector of IDs.

#### getTemplateInfo

    public TemplateInfo getTemplateInfo()

return the TemplateInfo instance corresponding to this Template.

Returns:
  TemplateInfo.

#### getTemplateDescriptor

    public TemplateDescriptor getTemplateDescriptor()

TemplateDescriptor for which, this Template is created.

#### getDescription

    public String getDescription()

Returns:
  String, which contains the description

#### getTemplateId

    public String getTemplateId()

Returns:
  String, which contains the id of the template

#### getTemplateType

    public String getTemplateType()

Returns:
  String, which contains the id of the template

#### getLabel

    public String getLabel()

Returns:
  String, which contains the Label

#### getProcessHandler

    public TemplateProcessHandler getProcessHandler()

TemplateDescriptor for which, this Template is created.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### setDirty

    public void setDirty()

sets Dirty

#### executeTemplateProcesses

    public org.eclipse.core.runtime.IStatus[] executeTemplateProcesses(org.eclipse.core.runtime.IProgressMonitor monitor,
                                                                       boolean showError)

initializeProcessBlockList() will create the ProcessBlockList, processPorcessBlockList() will invoke each process execution by assigning resources to each process (Ref. ProcessResourceManager).

Parameters:
  `monitor` -

#### getTemplate

    public static TemplateCore getTemplate(TemplateInfo templateInfo)
                                    throws TemplateInitializationException

Gets the Template

Parameters:
  `templateInfo` -
Throws:
  `TemplateInitializationException`
Since:
  4.0