Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.aspectwerkz.definition
Class SystemDefinition

    java.lang.Object
      org.codehaus.aspectwerkz.definition.SystemDefinition

    public class SystemDefinition

extends Object

TODO clean up - remove methods not used, refactor etc.

Abstraction of the system definition, defines the aspect system.

Author:
  Jonas Bonr , Alexandre Vasseur

Field Summary
`static Map` | `EMPTY_HASH_MAP` Empty hash map.

Constructor Summary
`SystemDefinition(String uuid)` Creates a new instance, creates and sets the system cflow aspect.

Method Summary
`void` | `addAspect(AspectDefinition aspectDef)` Adds a new aspect definition For each of its bounded pointcut, register cflow aspects as necessary.
`void` | `addAspectOverwriteIfExists(AspectDefinition aspectDef)` Adds a new aspect definition, overwrites the previous one with the same name (if there is one).
`void` | `addDeploymentScope(DeploymentScope deploymentScope)` Adds a deployment scope to the system.
`void` | `addExcludePackage(String excludePackage)` Adds a new exclude package.
`void` | `addIncludePackage(String includePackage)` Adds a new include package.
`void` | `addMixinDefinition(MixinDefinition mixinDef)` Adds a new mixin definition.
`void` | `addPreparePackage(String preparePackage)` Adds a new prepare package.
`static SystemDefinition` | `createVirtualDefinitionAt(ClassLoader loader)` Create a new virtual system definition for the given loader and add the virtual aspect in it.
`boolean` | `equals(Object o)`
`Collection` | `getAdviceDefinitions()` Returns a collection with the advice definitions registered.
`AspectDefinition` | `getAspectDefinition(String name)` Returns a specific aspect definition.
`Collection` | `getAspectDefinitions()` Returns a collection with the aspect definitions registered.
`DeploymentScope` | `getDeploymentScope(String name)` Returns the deployment scope with the name specified.
`Collection` | `getDeploymentScopes()` Returns a collection with all deployment scopes in the system.
`Set` | `getExcludePackages()` Returns the exclude packages.
`Set` | `getIncludePackages()` Returns the include packages.
`List` | `getInterfaceIntroductionDefinitions(ExpressionContext ctx)` Returns the interface introductions for a certain class merged with the implementation based introductions as well.
`Collection` | `getMixinDefinitions()` Returns a collection with the mixin definitions registered.
`List` | `getMixinDefinitions(ExpressionContext ctx)` Returns the mixin definitions matching a specfic expression.
`Set` | `getPreparePackages()` Returns the prepare packages.
`String` | `getUuid()` Returns the UUID for the definition.
`int` | `hashCode()`
`boolean` | `hasIntroducedInterface(ExpressionContext ctx)` Checks if a class is advised with an interface introduction.
`boolean` | `hasIntroducedInterface(ExpressionContext[] ctxs)` Checks if a class is advised with an interface introduction.
`boolean` | `hasMixin(ExpressionContext ctx)` Checks if a class has an mixin.
`boolean` | `hasMixin(ExpressionContext[] ctxs)` Checks if a class has an mixin.
`boolean` | `hasPointcut(ExpressionContext ctx)` Checks if a context has a pointcut.
`boolean` | `inExcludePackage(String className)` Checks if a class should be excluded.
`boolean` | `inIncludePackage(String className)` Checks if a class should be included.
`boolean` | `inPreparePackage(String className)` Checks if a class is in prepare declaration
`boolean` | `isAdvised(ExpressionContext ctx)` Checks if a class is advised.
`boolean` | `isAdvised(ExpressionContext[] ctxs)` Checks if a class is advised.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### EMPTY_HASH_MAP

    public static final Map EMPTY_HASH_MAP

  Empty hash map.

Constructor Detail

### SystemDefinition

    public SystemDefinition(String uuid)

  Creates a new instance, creates and sets the system cflow aspect.

Method Detail

### getUuid

    public String getUuid()

  Returns the UUID for the definition.

  Returns:
    the UUID

### getIncludePackages

    public Set getIncludePackages()

  Returns the include packages.

  Returns:
    the include packages

### getExcludePackages

    public Set getExcludePackages()

  Returns the exclude packages.

  Returns:
    the exclude packages

### getAspectDefinitions

    public Collection getAspectDefinitions()

  Returns a collection with the aspect definitions registered.

  Returns:
    the aspect definitions

### getMixinDefinitions

    public Collection getMixinDefinitions()

  Returns a collection with the mixin definitions registered.

  Returns:
    the mixin definitions

### getAdviceDefinitions

    public Collection getAdviceDefinitions()

  Returns a collection with the advice definitions registered.

  Returns:
    the advice definitions

### getAspectDefinition

    public AspectDefinition getAspectDefinition(String name)

  Returns a specific aspect definition.

  Parameters:
    `name` - the name of the aspect definition
  Returns:
    the aspect definition

### getMixinDefinitions

    public List getMixinDefinitions(ExpressionContext ctx)

  Returns the mixin definitions matching a specfic expression.

  Parameters:
    `ctx` - the expression context
  Returns:
    a list with the mixin definitions

### getInterfaceIntroductionDefinitions

    public List getInterfaceIntroductionDefinitions(ExpressionContext ctx)

  Returns the interface introductions for a certain class merged with the implementation based introductions as well.

  Parameters:
    `ctx` - the expression context
  Returns:
    the names

### addAspect

    public void addAspect(AspectDefinition aspectDef)

  Adds a new aspect definition For each of its bounded pointcut, register cflow aspects as necessary.

  Parameters:
    `aspectDef` - the aspect definition

### addAspectOverwriteIfExists

    public void addAspectOverwriteIfExists(AspectDefinition aspectDef)

  Adds a new aspect definition, overwrites the previous one with the same name (if there is one).

  Parameters:
    `aspectDef` - the aspect definition

### addMixinDefinition

    public void addMixinDefinition(MixinDefinition mixinDef)

  Adds a new mixin definition.

  Parameters:
    `mixinDef` - the mixin definition

### addIncludePackage

    public void addIncludePackage(String includePackage)

  Adds a new include package.

  Parameters:
    `includePackage` - the new include package

### addExcludePackage

    public void addExcludePackage(String excludePackage)

  Adds a new exclude package.

  Parameters:
    `excludePackage` - the new exclude package

### addPreparePackage

    public void addPreparePackage(String preparePackage)

  Adds a new prepare package.

  Parameters:
    `preparePackage` - the new prepare package

### getPreparePackages

    public Set getPreparePackages()

  Returns the prepare packages.

  Returns:

### inIncludePackage

    public boolean inIncludePackage(String className)

  Checks if a class should be included.

  Parameters:
    `className` - the name or the class
  Returns:
    boolean

### inExcludePackage

    public boolean inExcludePackage(String className)

  Checks if a class should be excluded.

  Parameters:
    `className` - the name or the class
  Returns:
    boolean

### inPreparePackage

    public boolean inPreparePackage(String className)

  Checks if a class is in prepare declaration

  Parameters:
    `className` - the name or the class
  Returns:
    boolean

### hasPointcut

    public boolean hasPointcut(ExpressionContext ctx)

  Checks if a context has a pointcut.

  Parameters:
    `ctx` - the expression context
  Returns:
    boolean

### isAdvised

    public boolean isAdvised(ExpressionContext[] ctxs)

  Checks if a class is advised.

  Parameters:
    `ctxs` - an array with the expression contexts
  Returns:
    boolean

### isAdvised

    public boolean isAdvised(ExpressionContext ctx)

  Checks if a class is advised.

  Parameters:
    `ctx` - the expression context
  Returns:
    boolean

### hasMixin

    public boolean hasMixin(ExpressionContext[] ctxs)

  Checks if a class has an mixin.

  Parameters:
    `ctxs` - an array with the expression contexts
  Returns:
    boolean

### hasMixin

    public boolean hasMixin(ExpressionContext ctx)

  Checks if a class has an mixin.

  Parameters:
    `ctx` - the expression context
  Returns:
    boolean

### hasIntroducedInterface

    public boolean hasIntroducedInterface(ExpressionContext[] ctxs)

  Checks if a class is advised with an interface introduction.

  Parameters:
    `ctxs` - the expression contexts
  Returns:
    boolean

### hasIntroducedInterface

    public boolean hasIntroducedInterface(ExpressionContext ctx)

  Checks if a class is advised with an interface introduction.

  Parameters:
    `ctx` - the expression context
  Returns:
    boolean

### getDeploymentScopes

    public Collection getDeploymentScopes()

  Returns a collection with all deployment scopes in the system.

  Returns:
    a collection with all deployment scopes in the system

### getDeploymentScope

    public DeploymentScope getDeploymentScope(String name)

  Returns the deployment scope with the name specified.

  Parameters:
    `name` - the name of the deployment scope
  Returns:
    the deployment scope with the name specified

### addDeploymentScope

    public void addDeploymentScope(DeploymentScope deploymentScope)

  Adds a deployment scope to the system.

  Parameters:
    `deploymentScope` - the deployment scope

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### createVirtualDefinitionAt

    public static SystemDefinition createVirtualDefinitionAt(ClassLoader loader)

  Create a new virtual system definition for the given loader and add the virtual aspect in it.

  Parameters:
    `loader` -
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.