org.apache.tuscany.sca.contribution.java.impl
Class ClassLoaderModelResolver

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.apache.tuscany.sca.contribution.java.impl.ClassLoaderModelResolver
All Implemented Interfaces:
ModelResolver

public class ClassLoaderModelResolver
extends java.net.URLClassLoader
implements ModelResolver

A Model Resolver for ClassReferences.


Constructor Summary
ClassLoaderModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories)
           
 
Method Summary
 void addModel(java.lang.Object resolved)
          Add a resolved model.
protected  java.lang.Class<?> findClass(java.lang.String name)
           
 java.net.URL findResource(java.lang.String name)
           
 java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
           
 java.lang.Object removeModel(java.lang.Object resolved)
          Remove a resolved model.
<T> T
resolveModel(java.lang.Class<T> modelClass, T unresolved)
          Resolve the model representing an artifact.
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassLoaderModelResolver

public ClassLoaderModelResolver(Contribution contribution,
                                ModelFactoryExtensionPoint modelFactories)
                         throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException
Method Detail

addModel

public void addModel(java.lang.Object resolved)
Description copied from interface: ModelResolver
Add a resolved model.

Specified by:
addModel in interface ModelResolver
Parameters:
resolved - The model

removeModel

public java.lang.Object removeModel(java.lang.Object resolved)
Description copied from interface: ModelResolver
Remove a resolved model.

Specified by:
removeModel in interface ModelResolver
Returns:
The removed model, or null if the model was not removed

resolveModel

public <T> T resolveModel(java.lang.Class<T> modelClass,
                          T unresolved)
Description copied from interface: ModelResolver
Resolve the model representing an artifact.

Specified by:
resolveModel in interface ModelResolver
Parameters:
modelClass - the type of artifact
unresolved - the unresolved model
Returns:
the resolved model

findResource

public java.net.URL findResource(java.lang.String name)
Overrides:
findResource in class java.net.URLClassLoader

findResources

public java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
                                                  throws java.io.IOException
Overrides:
findResources in class java.net.URLClassLoader
Throws:
java.io.IOException

findClass

protected java.lang.Class<?> findClass(java.lang.String name)
                                throws java.lang.ClassNotFoundException
Overrides:
findClass in class java.net.URLClassLoader
Throws:
java.lang.ClassNotFoundException