org.eclipse.m2m.atl.engine.vm
Class ModelLoader

java.lang.Object
  extended by org.eclipse.m2m.atl.engine.vm.ModelLoader
Direct Known Subclasses:
EMFModelLoader

public abstract class ModelLoader
extends java.lang.Object

Model loading and saving facility. Must be extended by concrete implementations such as for EMF or MDR. This is only used in command-line mode at the present time.


Field Summary
protected  java.util.Map loadedModels
           
 
Constructor Summary
ModelLoader()
           
 
Method Summary
 void addExtractor(java.lang.String prefix, java.lang.Class ext)
           
 void addInjector(java.lang.String prefix, java.lang.Class inj)
           
 void extract(ASMModel model, java.lang.String kind, java.lang.String params, java.lang.String uri, java.io.OutputStream out)
           
abstract  ASMModel getATL()
           
abstract  ASMModel getBuiltInMetaModel(java.lang.String name)
           
abstract  ASMModel getMOF()
           
 ASMModelElement inject(ASMModel ret, java.lang.String kind, java.lang.String params, java.lang.String uri, java.io.InputStream in)
           
abstract  ASMModel loadModel(java.lang.String name, ASMModel metamodel, java.io.InputStream in)
          Loads a model with given name and metamodel from in.
 ASMModel loadModel(java.lang.String name, ASMModel metamodel, java.lang.String href)
          Loads a model from the URI represented by href.
abstract  ASMModel newModel(java.lang.String name, ASMModel metamodel)
          Deprecated. Use newModel(String, String, ASMModel) instead
abstract  ASMModel newModel(java.lang.String name, java.lang.String uri, ASMModel metamodel)
           
protected abstract  ASMModel realLoadModel(java.lang.String name, ASMModel metamodel, java.lang.String href)
           
protected abstract  void realSave(ASMModel model, java.lang.String href)
           
 void save(ASMModel model, java.lang.String href)
          Saves the model to a writable URL.
protected abstract  void setParameter(java.lang.String name, java.lang.Object value)
           
abstract  void unload(ASMModel model)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loadedModels

protected java.util.Map loadedModels
Constructor Detail

ModelLoader

public ModelLoader()
Method Detail

addInjector

public void addInjector(java.lang.String prefix,
                        java.lang.Class inj)

addExtractor

public void addExtractor(java.lang.String prefix,
                         java.lang.Class ext)

loadModel

public abstract ASMModel loadModel(java.lang.String name,
                                   ASMModel metamodel,
                                   java.io.InputStream in)
                            throws java.io.IOException
Loads a model with given name and metamodel from in. Use this method only if there is no real URI available!

Parameters:
name - The model name.
metamodel - The metamodel of the model to be loaded.
in - The input stream from which to load.
Returns:
The loaded ASMModel.
Throws:
java.io.IOException

realLoadModel

protected abstract ASMModel realLoadModel(java.lang.String name,
                                          ASMModel metamodel,
                                          java.lang.String href)
                                   throws java.io.IOException
Throws:
java.io.IOException

loadModel

public ASMModel loadModel(java.lang.String name,
                          ASMModel metamodel,
                          java.lang.String href)
                   throws java.io.IOException
Loads a model from the URI represented by href.

Parameters:
name - The model name.
metamodel - The metamodel of the model to be loaded.
href - The model URI.
Returns:
The loaded ASMModel.
Throws:
java.io.IOException

inject

public ASMModelElement inject(ASMModel ret,
                              java.lang.String kind,
                              java.lang.String params,
                              java.lang.String uri,
                              java.io.InputStream in)

newModel

public abstract ASMModel newModel(java.lang.String name,
                                  ASMModel metamodel)
Deprecated. Use newModel(String, String, ASMModel) instead

Parameters:
name -
metamodel -
Returns:
A new ASMModel

newModel

public abstract ASMModel newModel(java.lang.String name,
                                  java.lang.String uri,
                                  ASMModel metamodel)
Parameters:
name -
uri -
metamodel -
Returns:
A new ASMModel

setParameter

protected abstract void setParameter(java.lang.String name,
                                     java.lang.Object value)

realSave

protected abstract void realSave(ASMModel model,
                                 java.lang.String href)
                          throws java.io.IOException
Throws:
java.io.IOException

save

public void save(ASMModel model,
                 java.lang.String href)
          throws java.io.IOException
Saves the model to a writable URL.

Parameters:
model - The model to save
href - The writable URL
Throws:
java.io.IOException

extract

public void extract(ASMModel model,
                    java.lang.String kind,
                    java.lang.String params,
                    java.lang.String uri,
                    java.io.OutputStream out)

getMOF

public abstract ASMModel getMOF()

getATL

public abstract ASMModel getATL()

getBuiltInMetaModel

public abstract ASMModel getBuiltInMetaModel(java.lang.String name)

unload

public abstract void unload(ASMModel model)

Copyright 2007 IBM Corporation and others.
All Rights Reserved.