The SystemDefintionContainer maintains all the definition and is aware of the classloader hierarchy. A
ThreadLocal structure is used during weaving to store current classloader definition hierarchy. Due to
getResources() API, we maintain a perClassLoader loaded resource list so that it contains only resource defined
within the classloader and not its parent.
author: Alexandre Vasseur author: Jonas Bonér
deployDefinitions(ClassLoader loader, Set definitions) Hotdeploy a list of SystemDefintions as defined at the level of the given ClassLoader
Note: this is used for Offline mode.
getVirtualDefinitionFor(ClassLoader loader) Returns the virtual system for the class loader specified.
There is ONE and ONLY ONE virtual system per classloader ie several per classloader
hierachy.
Hotdeploy a list of SystemDefintions as defined at the level of the given ClassLoader
Note: this is used for Offline mode.
Parameters: loader - ClassLoader Parameters: definitions - SystemDefinitions list
disableSystemWideDefinition
public static void disableSystemWideDefinition()(Code)
Turns on the option to avoid -Daspectwerkz.definition.file handling.
Return the list of SystemDefinitions defined at the given ClassLoader level.
It does NOT handle the ClassLoader hierarchy.
Parameters: loader - SystemDefinitions list
Lookup for a given SystemDefinition by uuid within a given ClassLoader.
The lookup does go thru the ClassLoader hierarchy
Parameters: loader - ClassLoader Parameters: uuid - system uuid SystemDefinition or null if no such defined definition
Return the list of SystemDefinitions visible at the given ClassLoader level.
It does handle the ClassLoader hierarchy.
Parameters: loader - SystemDefinitions list
Returns the virtual system for the class loader specified.
There is ONE and ONLY ONE virtual system per classloader ie several per classloader
hierachy. This definition hosts hotdeployed aspects. This method returns the
one corresponding to the given classloader only.
Parameters: loader - the class loader the virtual system