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

java.lang.Object
  extended by 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.