org.jomc.ri.model
Class RuntimeImplementation

Package class diagram package RuntimeImplementation
java.lang.Object
  extended by org.jomc.model.ModelObject
      extended by org.jomc.model.Implementation
          extended by org.jomc.ri.model.RuntimeImplementation
All Implemented Interfaces:
Cloneable, RuntimeModelObject

@Generated(value="org.jomc.tools.SourceFileProcessor 1.2.2",
           comments="See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2")
public class RuntimeImplementation
extends Implementation
implements RuntimeModelObject

Runtime Implementation.

Identifier:
org.jomc.ri.model.RuntimeImplementation
Name:
JOMC RI RuntimeImplementation
Specifications:
org.jomc.ri.model.RuntimeModelObject @ 1.2
Abstract:
No
Final:
No
Stateless:
No

Version:
1.2
Author:
Christian Schulte 1.2

Field Summary
 
Fields inherited from class org.jomc.model.Implementation
_abstract, _final, any, classDeclaration, clazz, dependencies, identifier, implementations, location, messages, name, properties, specifications, stateless, vendor, version
 
Fields inherited from class org.jomc.model.ModelObject
authors, createDate, deprecated, documentation, MODEL_PUBLIC_ID, modelVersion
 
Constructor Summary
RuntimeImplementation()
          Creates a new RuntimeImplementation instance.
RuntimeImplementation(Implementation implementation)
          Creates a new RuntimeImplementation instance by deeply copying a given Implementation instance.
 
Method Summary
 void clear()
          Clears shared runtime state.
 void gc()
          Handles shared runtime state.
 Class<?> getJavaClass(ClassLoader classLoader)
          Gets the Java class of the implementation for a given class loader.
 URI getLocationUri()
          Gets the location URI used for locating instances of this implementation.
 
Methods inherited from class org.jomc.model.Implementation
clone, getAny, getAnyElement, getAnyElement, getAnyElements, getAnyElements, getAnyObject, getAnyObjects, getClazz, getDependencies, getIdentifier, getImplementations, getLocation, getMessages, getName, getProperties, getSpecifications, getVendor, getVersion, isAbstract, isClassDeclaration, isFinal, isStateless, setAbstract, setClassDeclaration, setClazz, setDependencies, setFinal, setIdentifier, setImplementations, setLocation, setMessages, setName, setProperties, setSpecifications, setStateless, setVendor, setVersion
 
Methods inherited from class org.jomc.model.ModelObject
getAnyElement, getAnyElement, getAnyElements, getAnyElements, getAnyObject, getAnyObjects, getAuthors, getCreateDate, getDocumentation, getModelVersion, isDeprecated, setAuthors, setCreateDate, setDeprecated, setDocumentation, setModelVersion
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RuntimeImplementation

public RuntimeImplementation(Implementation implementation)
Creates a new RuntimeImplementation instance by deeply copying a given Implementation instance.

Parameters:
implementation - The instance to copy.
Throws:
NullPointerException - if implementation is null.

RuntimeImplementation

@Generated(value="org.jomc.tools.SourceFileProcessor 1.2.2",
           comments="See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2")
public RuntimeImplementation()
Creates a new RuntimeImplementation instance.

Method Detail

getLocationUri

public URI getLocationUri()
Gets the location URI used for locating instances of this implementation.

This method queries an internal cache for a result object to return. If no cached result object is available, this method queries the super-class for a result object to return and caches the outcome of that query for use on successive calls.

Note:
Method clear() must be used to synchronize the state of the internal cache with the state of the instance, should the state of the instance change.

Overrides:
getLocationUri in class Implementation
Returns:
The location URI used for locating instances of this implementation or null, if instances of this implementation do not need to be located.
See Also:
Implementation.getLocation(), clear()

getJavaClass

public Class<?> getJavaClass(ClassLoader classLoader)
                      throws ClassNotFoundException
Gets the Java class of the implementation for a given class loader.

This method queries an internal cache for a result object to return for the given argument values. If no cached result object is available, this method queries the super-class for a result object to return and caches the outcome of that query for use on successive calls.

Note:
Method RuntimeModelObjects.clear() must be used to synchronize the state of the internal cache with the state of the class loader, should the state of the class loader change.

Overrides:
getJavaClass in class Implementation
Parameters:
classLoader - The class loader to get the Java class from or null, to get the Java class from the platform's bootstrap class loader.
Returns:
The Java class of the implementation or null, if the implementation does not declare a class.
Throws:
ClassNotFoundException - if the Java class is not found.
See Also:
Implementation.getClazz(), RuntimeModelObjects.clear()

gc

public void gc()
Description copied from interface: RuntimeModelObject
Handles shared runtime state.

Specified by:
gc in interface RuntimeModelObject

clear

public void clear()
Description copied from interface: RuntimeModelObject
Clears shared runtime state.

Specified by:
clear in interface RuntimeModelObject


Copyright © 2005-2012 The JOMC Project. All Rights Reserved.Get JOMC at SourceForge.net. Fast, secure and Free Open Source software downloads
Please note that this documentation is maintained by non-native english speaking authors. As such, you may encounter phrases or wordings which seem imprecise or may even have a totally different meaning to native english speaking readers than what the individual author was trying to express. If you are a native english speaking reader and find any such phrases or wordings we kindly ask you to send an email to the corresponding author and help us improve this documentation in order to avoid misunderstandings. You will find the authors' email addresses at the top of each class. Please accept our apologies for any inconvenience caused.