## org.eclipse.m2m.atl.engine.compiler
Class AtlDefaultCompiler

    java.lang.Object
      org.eclipse.m2m.atl.engine.compiler.AtlDefaultCompiler

All Implemented Interfaces:
  AtlStandaloneCompiler

Direct Known Subclasses:
  Atl2004Compiler, Atl2006Compiler

    public abstract class AtlDefaultCompiler

extends java.lang.Object
implements AtlStandaloneCompiler

Default implementation of methods necessary for all ATL compilers. Attention: This class MUST NOT reference any types of the platform (e.g. IFile), because it must be usable stand-alone, without Eclipse, too.

Constructor Summary
`AtlDefaultCompiler()`

Method Summary
`CompileTimeError[]` `compile(java.io.InputStream in, java.lang.String outputFileName)` Compiles an ATL script and returns easily accessible error messages.
`org.eclipse.emf.ecore.EObject[]` `compileWithProblemModel(IModel atlModel, java.io.OutputStream outputStream)` Compiles an ATL script and returns easily accessible error messages.
`org.eclipse.emf.ecore.EObject[]` `compileWithProblemModel(IModel atlModel, java.lang.String outputFileName)` Compiles an ATL script and returns easily accessible error messages.
`org.eclipse.emf.ecore.EObject[]` `compileWithProblemModel(java.io.InputStream in, java.io.OutputStream outputStream)` Compiles an ATL script and returns easily accessible error messages.
`org.eclipse.emf.ecore.EObject[]` `compileWithProblemModel(java.io.InputStream in, java.lang.String outputFileName)` Compiles an ATL script and returns easily accessible error messages.
`protected abstract java.net.URL` `getCodegeneratorURL()` Returns the URL of the ATL compiler transformation; to be implemented by concrete subclass.
`static java.io.OutputStream` `getCompilationOutputStream()` Allow to write the compilation result on an `OutputStream`.
`protected abstract java.net.URL` `getSemanticAnalyzerURL()` Returns the ATL WFR URL (whatever that may be); to be implemented by concrete subclass.
`org.eclipse.emf.ecore.EObject[]` `internalCompile(IModel atlmodel, java.lang.String outputFileName)` Compiles an ATL model.
`org.eclipse.emf.ecore.EObject[]` `internalCompile(java.io.InputStream in, java.lang.String outputFileName)` Compiles an ATL source file.

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

Constructor Detail

### AtlDefaultCompiler

    public AtlDefaultCompiler()

Method Detail

### compile

    public final CompileTimeError[] compile(java.io.InputStream in,
                                            java.lang.String outputFileName)

  Compiles an ATL script and returns easily accessible error messages.

  Specified by:
    `compile` in interface `AtlStandaloneCompiler`
  Parameters:
    `in` - The InputStream to get atl source from.
    `outputFileName` - Name of the file to which the ATL compiled program will be saved.
  Returns:
    array of compiletime errors (0 length if no errors)
  See Also:
    `AtlStandaloneCompiler.compile(java.io.InputStream, java.lang.String)`

### compileWithProblemModel

    public org.eclipse.emf.ecore.EObject[] compileWithProblemModel(java.io.InputStream in,
                                                                   java.lang.String outputFileName)

  Compiles an ATL script and returns easily accessible error messages.

  Specified by:
    `compileWithProblemModel` in interface `AtlStandaloneCompiler`
  Parameters:
    `in` - The InputStream to get atl source from.
    `outputFileName` - Name of the file to which the ATL compiled program will be saved.
  Returns:
    array of compiletime errors as EObjects (0 length if no errors)
  See Also:
    `AtlStandaloneCompiler.compileWithProblemModel(java.io.InputStream, java.lang.String)`

### compileWithProblemModel

    public org.eclipse.emf.ecore.EObject[] compileWithProblemModel(java.io.InputStream in,
                                                                   java.io.OutputStream outputStream)

  Compiles an ATL script and returns easily accessible error messages.

  Specified by:
    `compileWithProblemModel` in interface `AtlStandaloneCompiler`
  Parameters:
    `in` - The InputStream to get atl source from.
    `outputStream` - the compilation ASM output stream
  Returns:
    array of compiletime errors as EObjects (0 length if no errors)
  See Also:
    `AtlStandaloneCompiler.compileWithProblemModel(java.io.InputStream, java.io.OutputStream)`

### compileWithProblemModel

    public org.eclipse.emf.ecore.EObject[] compileWithProblemModel(IModel atlModel,
                                                                   java.lang.String outputFileName)

  Compiles an ATL script and returns easily accessible error messages.

  Specified by:
    `compileWithProblemModel` in interface `AtlStandaloneCompiler`
  Parameters:
    `atlModel` - The atlModel.
    `outputFileName` - Name of the file to which the ATL compiled program will be saved.
  Returns:
    array of compiletime errors as EObjects (0 length if no errors)
  See Also:
    `AtlStandaloneCompiler.compileWithProblemModel(org.eclipse.m2m.atl.core.IModel, java.lang.String)`

### compileWithProblemModel

    public org.eclipse.emf.ecore.EObject[] compileWithProblemModel(IModel atlModel,
                                                                   java.io.OutputStream outputStream)

  Compiles an ATL script and returns easily accessible error messages.

  Specified by:
    `compileWithProblemModel` in interface `AtlStandaloneCompiler`
  Parameters:
    `atlModel` - The atlModel.
    `outputStream` - the compilation ASM output stream
  Returns:
    array of compiletime errors as EObjects (0 length if no errors)
  See Also:
    `AtlStandaloneCompiler.compileWithProblemModel(org.eclipse.m2m.atl.core.IModel, java.io.OutputStream)`

### getSemanticAnalyzerURL

    protected abstract java.net.URL getSemanticAnalyzerURL()

  Returns the ATL WFR URL (whatever that may be); to be implemented by concrete subclass.

  Returns:
    the URL

### getCodegeneratorURL

    protected abstract java.net.URL getCodegeneratorURL()

  Returns the URL of the ATL compiler transformation; to be implemented by concrete subclass.

  Returns:
    the URL of the compiler itself

### internalCompile

    public org.eclipse.emf.ecore.EObject[] internalCompile(java.io.InputStream in,
                                                           java.lang.String outputFileName)

  Compiles an ATL source file.

  Parameters:
    `in` - The InputStream to get atl source from.
    `outputFileName` - The name of the file to which the ATL compiled program will be saved.
  Returns:
    A List of EObject instance of Problem.

### internalCompile

    public org.eclipse.emf.ecore.EObject[] internalCompile(IModel atlmodel,
                                                           java.lang.String outputFileName)
                                                    throws ATLCoreException,
                                                           java.io.IOException,
                                                           ATLExecutionException

  Compiles an ATL model.

  Parameters:
    `atlmodel` - The atl Model
    `outputFileName` - The name of the file to which the ATL compiled program will be saved.
  Returns:
    A List of EObject instance of Problem.
  Throws:
    `ATLCoreException`
    `java.io.IOException`
    `ATLExecutionException`

### getCompilationOutputStream

    public static java.io.OutputStream getCompilationOutputStream()

  Allow to write the compilation result on an `OutputStream`.

  Returns:
    returns the OutputStream previously set by the internalCompile method

Copyright 2007 IBM Corporation and others. All Rights Reserved.