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.mule.module.xml.transformer.jaxb
Class JAXBContextResolver

    java.lang.Object
      org.mule.config.transformer.AbstractAnnotatedTransformerArgumentResolver
          org.mule.module.xml.transformer.jaxb.JAXBContextResolver

All Implemented Interfaces:
  Disposable, TransformerArgumentResolver

    public class JAXBContextResolver

extends AbstractAnnotatedTransformerArgumentResolver

This resolver is used by the transform engine to inject a JAXBContext into a method that requires it. A shared JAXB context can be created for the application and stored in the registry, this will get injected into any transform methods that add `JAXBContext` to the method signature.

IF there is no shared JAXB context one will be created. First this resolver will attempt to create the context from the package of the the annotated class, for this to work either a jaxb.index file must be present or an `ObjectFactory` must be in the package. This allows for JAXB generated classes to be used easily. If this method fails a context will be created using just the annotated class to initialise the context.

Since:
  3.0

Field Summary

Fields inherited from class org.mule.config.transformer.AbstractAnnotatedTransformerArgumentResolver
`ignoredPackages, logger`

Fields inherited from interface org.mule.api.lifecycle.Disposable
`PHASE_NAME`

Constructor Summary
`JAXBContextResolver()`

Method Summary
`protected Object` | `createArgument(Class annotatedType, MuleContext muleContext)` If the resolver cannot locate the required object of type `AbstractAnnotatedTransformerArgumentResolver.getArgumentClass()` this method will be invoked an instance of the object.
`protected String` | `getAnnotationsPackageName()` This resolver scans a class for annotations in this package.
`protected Class` | `getArgumentClass()` The object type that this resolver will discover or create

Methods inherited from class org.mule.config.transformer.AbstractAnnotatedTransformerArgumentResolver
`dispose, findAnnotation, getMatchingClasses, getNonMatchingClasses, isNonMatching, resolve`

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

Constructor Detail

### JAXBContextResolver

    public JAXBContextResolver()

Method Detail

### getArgumentClass

    protected Class getArgumentClass()

  Description copied from class: `AbstractAnnotatedTransformerArgumentResolver`
  The object type that this resolver will discover or create

  Specified by:
    `getArgumentClass` in class `AbstractAnnotatedTransformerArgumentResolver`
  Returns:
    The object type that this resolver will discover or create

### createArgument

    protected Object createArgument(Class annotatedType,
                                    MuleContext muleContext)
                             throws Exception

  Description copied from class: `AbstractAnnotatedTransformerArgumentResolver`
  If the resolver cannot locate the required object of type `AbstractAnnotatedTransformerArgumentResolver.getArgumentClass()` this method will be invoked an instance of the object.

  Specified by:
    `createArgument` in class `AbstractAnnotatedTransformerArgumentResolver`
  Parameters:
    `annotatedType` - the annotated object that was matched
    `muleContext` - the current Mule context.
  Returns:
    a new instance of the object being resolved. This method may also retain a shared instance and possible add configuration to the instance based on this invocation
  Throws:
    `Exception` - if the object cannot be created

### getAnnotationsPackageName

    protected String getAnnotationsPackageName()

  Description copied from class: `AbstractAnnotatedTransformerArgumentResolver`
  This resolver scans a class for annotations in this package. Note this behaviour can be changed by overloading the `AbstractAnnotatedTransformerArgumentResolver.findAnnotation(Class)` method and search based on your own criteria

  Specified by:
    `getAnnotationsPackageName` in class `AbstractAnnotatedTransformerArgumentResolver`
  Returns:
    the package of the annotation(s) to scan for

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 © 2003-2010 MuleSoft, Inc.. All Rights Reserved.