org.apache.tuscany.sca.extension.helper.impl
Class SCDLProcessor

java.lang.Object
  extended by org.apache.tuscany.sca.extension.helper.utils.AbstractStAXArtifactProcessor<Implementation>
      extended by org.apache.tuscany.sca.extension.helper.impl.SCDLProcessor
All Implemented Interfaces:
ArtifactProcessor<Implementation>, StAXArtifactProcessor<Implementation>

public class SCDLProcessor
extends AbstractStAXArtifactProcessor<Implementation>

An SCDL ArtifactProcessor which uses the Implementation class getters/setters to define the SCDL attributes.


Field Summary
protected  java.util.Map<java.lang.String,java.lang.reflect.Method> attributeSetters
           
protected  java.lang.reflect.Method elementTextSetter
           
protected  ModelFactoryExtensionPoint factories
           
protected  java.lang.Class<Implementation> implementationClass
           
protected  ExtensionPointRegistry registry
           
protected  javax.xml.namespace.QName scdlQName
           
 
Fields inherited from class org.apache.tuscany.sca.extension.helper.utils.AbstractStAXArtifactProcessor
assemblyFactory
 
Constructor Summary
SCDLProcessor(AssemblyFactory assemblyFactory, javax.xml.namespace.QName scdlQName, java.lang.Class<Implementation> implementationClass, ExtensionPointRegistry registry, ModelFactoryExtensionPoint factories)
           
 
Method Summary
protected  void addSideFileComponentType(java.lang.String name, Implementation impl, ModelResolver resolver)
           
 javax.xml.namespace.QName getArtifactType()
          Returns the type of artifact handled by this artifact processor.
protected  java.lang.String getFieldName(java.lang.reflect.Method m)
          Remove get/set from method name, set 1st char to lowercase and remove any trailing underscore character
 java.lang.Class<Implementation> getModelType()
          Returns the type of model handled by this artifact processor.
protected  void initAttributes()
           
 Implementation read(javax.xml.stream.XMLStreamReader reader)
          Reads a model from an XMLStreamReader.
 void write(Implementation arg0, javax.xml.stream.XMLStreamWriter arg1)
          Writes a model to an XMLStreamWriter.
 
Methods inherited from class org.apache.tuscany.sca.extension.helper.utils.AbstractStAXArtifactProcessor
createDynamicService, resolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scdlQName

protected javax.xml.namespace.QName scdlQName

implementationClass

protected java.lang.Class<Implementation> implementationClass

registry

protected ExtensionPointRegistry registry

factories

protected ModelFactoryExtensionPoint factories

attributeSetters

protected java.util.Map<java.lang.String,java.lang.reflect.Method> attributeSetters

elementTextSetter

protected java.lang.reflect.Method elementTextSetter
Constructor Detail

SCDLProcessor

public SCDLProcessor(AssemblyFactory assemblyFactory,
                     javax.xml.namespace.QName scdlQName,
                     java.lang.Class<Implementation> implementationClass,
                     ExtensionPointRegistry registry,
                     ModelFactoryExtensionPoint factories)
Method Detail

initAttributes

protected void initAttributes()

getFieldName

protected java.lang.String getFieldName(java.lang.reflect.Method m)
Remove get/set from method name, set 1st char to lowercase and remove any trailing underscore character


getArtifactType

public javax.xml.namespace.QName getArtifactType()
Description copied from interface: StAXArtifactProcessor
Returns the type of artifact handled by this artifact processor.

Returns:
The type of artifact handled by this artifact processor

getModelType

public java.lang.Class<Implementation> getModelType()
Description copied from interface: ArtifactProcessor
Returns the type of model handled by this artifact processor.

Returns:
The type of model handled by this artifact processor

read

public Implementation read(javax.xml.stream.XMLStreamReader reader)
                    throws ContributionReadException,
                           javax.xml.stream.XMLStreamException
Description copied from interface: StAXArtifactProcessor
Reads a model from an XMLStreamReader.

Parameters:
reader - The XMLStreamReader
Returns:
A model representation of the input.
Throws:
ContributionReadException
javax.xml.stream.XMLStreamException

write

public void write(Implementation arg0,
                  javax.xml.stream.XMLStreamWriter arg1)
           throws ContributionWriteException,
                  javax.xml.stream.XMLStreamException
Description copied from interface: StAXArtifactProcessor
Writes a model to an XMLStreamWriter.

Parameters:
arg0 - A model representing the source
arg1 - The XML stream writer
Throws:
ContributionWriteException
javax.xml.stream.XMLStreamException

addSideFileComponentType

protected void addSideFileComponentType(java.lang.String name,
                                        Implementation impl,
                                        ModelResolver resolver)
Overrides:
addSideFileComponentType in class AbstractStAXArtifactProcessor<Implementation>