# com.bea.ide.lang.control
ControlContainerDocument.ControlContainerCompilerDriver Class

protected static class ControlContainerDocument.ControlContainerCompilerDriver
extends `JavaCompilerDriver`

Our compiler driver is the same as the java compiler driver except that it has a modified structure builder and adds to the compiler feature list.

Hierarchy
  `Object`
  `DefaultCompilerDriver`
  `JavaCompilerDriver`
  `ControlContainerDocument.ControlContainerCompilerDriver`

All Implemented Interfaces
  `ICompilerDriver`

Enclosing class
  `ControlContainerDocument`

## Field Summary

Fields from com.bea.ide.sourceeditor.driver`.`DefaultCompilerDriver``
``_doc``

## Constructor Summary

ControlContainerDocument.ControlContainerCompilerDriver(`ISourceDocument` doc)

## Method Summary

`public `ILanguageBuilder`` | `createBuilder`() Creates a new ILanguageBuilder for the Java langauge.
`public `Class`[]` | `getAvailableFeatures`() Returns the set of compiler features that should be made available on this document.

Methods from `com.bea.ide.sourceeditor.driver.`DefaultCompilerDriver``
``createBuilder`, `isFeatureAvailable``

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `com.bea.ide.sourceeditor.driver.`ICompilerDriver``
``createBuilder`, `getAvailableFeatures`, `isFeatureAvailable``

## Constructor Detail

### ControlContainerDocument.ControlContainerCompilerDriver

    public ControlContainerDocument.ControlContainerCompilerDriver(ISourceDocument doc)

## Method Detail

### createBuilder() Method

    public ILanguageBuilder createBuilder()

Description copied from `JavaCompilerDriver.createBuilder()`
Creates a new ILanguageBuilder for the Java langauge.

Overrides
  `JavaCompilerDriver.createBuilder()`

#### Returns

a new `JavaBuilder```

### getAvailableFeatures() Method

    public Class[] getAvailableFeatures()

Description copied from `DefaultCompilerDriver.getAvailableFeatures()`
Returns the set of compiler features that should be made available on this document. The default set includes the following:

Token Info Feature: allows access to tokenization information for this driver's document.

Node Info Feature: allows access to langauge transition information for this driver's document.

Source Info Feature: allows access to source editor features such as auto-completion.

Structure Info Feature: allows access to structure tree information for this driver's document. Note that while this feature is supported by default, it is only useful to a `DefaultCompilerDriver``` derivation that returns a valid `ILanguageBuilder``` interface from the `createBuilder``` method. See `JavaCompilerDriver``` for an example.

Overrides
  `DefaultCompilerDriver.getAvailableFeatures()`