com.sapportals.portal.prt.service.soap.mapping
Interface ISpecializedRegistry


public interface ISpecializedRegistry

Registry used to stock mapping inforamtion between Custom Java type and XML Qualified name used in SOAP message. As well list of serializers use for un/marshalling SOAPElement. Holds also Class loader and SOAP Config of the Specified portal Service


Method Summary
 java.lang.Object createIntance(java.lang.Class clazz)
          Create an instance of one class using current specialized registry class loader
 java.lang.String getDefaultNamespace(java.lang.Class type)
          Get Default namespace for the Java type
 SOAPDeserializer getDeserializer(QName qname, java.lang.String targetNamespace)
          Gets Deserialzater for QName
 QNameURI getElementType(java.lang.Class type)
          Gets QNameURI for Class type
 QName getElementType(java.lang.Class type, java.lang.String targetNamespace)
          Gets QName for Class type
 QNameURI getElementTypeWithouInheritance(java.lang.Class type)
          Get QNameURI for Class type without looking in inheritance potential corresponding
 QName getElementTypeWithouInheritance(java.lang.Class type, java.lang.String targetNamespace)
          Get QName for Class type without looking in inheritance potential corresponding QName
 java.lang.Class getJavaType(QName qname, java.lang.String targetNamespace)
          Get Java Type for QName
 java.util.Hashtable getListJavaTypes()
          Get the list of java types attached to the current SPecialized Registry
 java.util.Hashtable getListQName()
          Get the list of QName attached to the current SPecialized Registry
 java.util.Hashtable getListSerializers()
          Get the list of serializers attached to the current SPecialized Registry
 java.util.Hashtable getListUnSerializers()
          Get the list of unserializers attached to the current SPecialized Registry
 java.lang.ClassLoader getRegistryClassLoader()
          Get the Class Loader of the current Portal Service
 SOAPSerializer getSerializer(java.lang.Class type, java.lang.String targetNamespace)
          Gest Serializers for Java Type
 SOAPSerializer getSerializerWihoutInheritance(java.lang.Class type, java.lang.String targetNamespace)
          Gest Serializers for Java Type without looking in inheritance potential corresponding serializers
 IPortalSOAPConfig getSOAPConfig()
          Get the SOAP Config attached to the current SPecialized Registry (Portal Service)
 void initXMLBased(java.lang.String serviceName, java.lang.String pathForService, java.lang.ClassLoader loader)
          Init the specialized registry for the specified service
 boolean isPrimitive(java.lang.Class aClass)
          is Primitive Java Type
 java.lang.Class loadClassInRegistry(java.lang.String classname)
          Get a class contain in this specialized registry from the classname (with the package name)
 

Method Detail

getDeserializer

public SOAPDeserializer getDeserializer(QName qname,
                                        java.lang.String targetNamespace)
Gets Deserialzater for QName
Parameters:
qname - Qname to find serializer for
targetNamespace - namespace of the QName (optional since EP60 SP2)
Returns:
the corresponding Serializer

getSerializer

public SOAPSerializer getSerializer(java.lang.Class type,
                                    java.lang.String targetNamespace)
Gest Serializers for Java Type
Parameters:
type - Type to find deserializer for
targetNamespace - namespace attach to the Class Type and Current context
Returns:
the corresponding serializer

getSerializerWihoutInheritance

public SOAPSerializer getSerializerWihoutInheritance(java.lang.Class type,
                                                     java.lang.String targetNamespace)
Gest Serializers for Java Type without looking in inheritance potential corresponding serializers
Parameters:
type - Type to find deserializer for
targetNamespace - namespace attach to the Class Type and Current context
Returns:
the corresponding serializer

getElementType

public QName getElementType(java.lang.Class type,
                            java.lang.String targetNamespace)
Gets QName for Class type
Parameters:
type - the class to find
targetNamespace - namespace attach to the Class Type and Current context
Returns:
the corresponding QName

getElementType

public QNameURI getElementType(java.lang.Class type)
Gets QNameURI for Class type
Parameters:
type - the class to find
Returns:
the corresponding QNameURI

getJavaType

public java.lang.Class getJavaType(QName qname,
                                   java.lang.String targetNamespace)
Get Java Type for QName
Parameters:
qname - the QName to find
targetNamespace - (optinal since EP60 SP2)
Returns:
the corresponding java type

initXMLBased

public void initXMLBased(java.lang.String serviceName,
                         java.lang.String pathForService,
                         java.lang.ClassLoader loader)
                  throws java.lang.Exception
Init the specialized registry for the specified service
Parameters:
serviceName - the name of the service
pathForService - the path for the servce in the appication server
loader - the CLassLoader corresponding to the portal service
Throws:
java.lang.Exception -  

isPrimitive

public boolean isPrimitive(java.lang.Class aClass)
is Primitive Java Type
Parameters:
aClass - class to identify
Returns:
true if yes, false if not.

createIntance

public java.lang.Object createIntance(java.lang.Class clazz)
Create an instance of one class using current specialized registry class loader
Parameters:
clazz - the class to instanciate
Returns:
the instanciated object

getElementTypeWithouInheritance

public QName getElementTypeWithouInheritance(java.lang.Class type,
                                             java.lang.String targetNamespace)
Get QName for Class type without looking in inheritance potential corresponding QName
Parameters:
type - the class to find
targetNamespace - namespace attach to the Class Type and Current context
Returns:
the corresponding QName

getElementTypeWithouInheritance

public QNameURI getElementTypeWithouInheritance(java.lang.Class type)
Get QNameURI for Class type without looking in inheritance potential corresponding
Parameters:
type - type the class to find
Returns:
the corresponding QNameURI

getRegistryClassLoader

public java.lang.ClassLoader getRegistryClassLoader()
Get the Class Loader of the current Portal Service
Returns:
the Classloader

getDefaultNamespace

public java.lang.String getDefaultNamespace(java.lang.Class type)
Get Default namespace for the Java type
Parameters:
type - the Java type to find
Returns:
the namespace

getListSerializers

public java.util.Hashtable getListSerializers()
Get the list of serializers attached to the current SPecialized Registry
Returns:
the list

getListUnSerializers

public java.util.Hashtable getListUnSerializers()
Get the list of unserializers attached to the current SPecialized Registry
Returns:
the list

getListJavaTypes

public java.util.Hashtable getListJavaTypes()
Get the list of java types attached to the current SPecialized Registry
Returns:
the list

getListQName

public java.util.Hashtable getListQName()
Get the list of QName attached to the current SPecialized Registry
Returns:
the list

getSOAPConfig

public IPortalSOAPConfig getSOAPConfig()
Get the SOAP Config attached to the current SPecialized Registry (Portal Service)
Returns:
the configurations

loadClassInRegistry

public java.lang.Class loadClassInRegistry(java.lang.String classname)
Get a class contain in this specialized registry from the classname (with the package name)
Returns:
the Class Object or null if the classloader not found it