Package org.codehaus.commons.compiler

# Interface ICompilerFactory

All Known Implementing Classes:
  `AbstractCompilerFactory`, `CompilerFactory`, `CompilerFactory`

public interface ICompilerFactory
An entity that produces implementations of `IExpressionEvaluator`, `IScriptEvaluator`, `IClassBodyEvaluator`, `ISimpleCompiler` or `AbstractJavaSourceClassLoader`.

Implementations of this interface are, e.g. `org.codehaus.janino` and `org.codehaus.commons.compiler.jdk`.

## Method Summary

Modifier and Type
Method
Description
`String`
`getId()`
`String`
`getImplementationVersion()`
`IClassBodyEvaluator`
`newClassBodyEvaluator()`
`ICompiler`
`newCompiler()`
`IExpressionEvaluator`
`newExpressionEvaluator()`
`AbstractJavaSourceClassLoader`
`newJavaSourceClassLoader()`
`AbstractJavaSourceClassLoader`
`newJavaSourceClassLoader(ClassLoader parentClassLoader)`
`IScriptEvaluator`
`newScriptEvaluator()`
`ISimpleCompiler`
`newSimpleCompiler()`
`String`
`toString()`

## Method Details

### getId

String getId()

Returns:
  A `String` which uniquely identifies the concrete implementation of this interface, e.g. `"org.codehaus.janino"` or `"org.codehaus.commons.compiler.jdk"`

### toString

String toString()

Overrides:
  `toString` in class `Object`
Returns:
  A human-readable `String` that identifies the concrete implementation of this interface in a user interface, e.g. `"janino"` or `"jdk"`

### getImplementationVersion

String getImplementationVersion()

Returns:
  The version of this implementation of the commons-compiler specification, or `null`

### newExpressionEvaluator

IExpressionEvaluator newExpressionEvaluator()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `IExpressionEvaluator`
See Also:
  - `IExpressionEvaluator`

### newScriptEvaluator

IScriptEvaluator newScriptEvaluator()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `IScriptEvaluator`
See Also:
  - `IScriptEvaluator`

### newClassBodyEvaluator

IClassBodyEvaluator newClassBodyEvaluator()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `IClassBodyEvaluator`
See Also:
  - `IClassBodyEvaluator`

### newSimpleCompiler

ISimpleCompiler newSimpleCompiler()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `ISimpleCompiler`
See Also:
  - `ISimpleCompiler`

### newCompiler

ICompiler newCompiler()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `ICompiler`
See Also:
  - `ISimpleCompiler`

### newJavaSourceClassLoader

AbstractJavaSourceClassLoader newJavaSourceClassLoader()

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `AbstractJavaSourceClassLoader`
See Also:
  - `AbstractJavaSourceClassLoader`

### newJavaSourceClassLoader

AbstractJavaSourceClassLoader newJavaSourceClassLoader(ClassLoader parentClassLoader)

Throws:
  `UnsupportedOperationException` - The underlying implementation does not implement an `AbstractJavaSourceClassLoader`
See Also:
  - `AbstractJavaSourceClassLoader`