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

Class SOAPRegistry

java.lang.Object
  extended bycom.sapportals.portal.prt.service.soap.mapping.SOAPRegistry

public class SOAPRegistry
extends Object

Class in charge of maintaining all the mapping and basic information on Available Portal Services
- Mapping of basic Java Type and SOAP/XMl Qualified Name. - List of specilaized rgistry; containing nformation of Mapping for specific Portal Service - List of Header Porcessor - List of method Authorized Processor This registry is initialized by the InitMapping class and soapTypes.xml


Method Summary
 void addMappings(String namespace, Class javaType, QName name, SOAPDeserializer deserializer, SOAPSerializer serializer)
          Add entry for the mapping between java type and XMML/SOAP Qualified name
 void addMethodsAuthorizedProcessor(String name, IMethodsAuthorizedProcessor methods)
          Add in the list a IIMethodsAuthorizedProcessor instance
 void addSpecializedRegistry(String name, ISpecializedRegistry registry)
          Add registry entry corresponding to a Portal Service
static void destroy()
          Destroy the instance
 Hashtable getAllSpecializedRegistry()
          Get the list of the specialized registry contains in the central registry
 QName getArrayQName()
          Get the QName Array for SOAP Array Type
 String getDefaultNamespace(Class type)
          Get Default namespace for the Java type
 SOAPDeserializer getDeserializer(QName qname, String targetNamespace)
          Get Deserialzater for QName
 QNameURI getElementType(Class type)
          Get QNameURI for Class type
 QName getElementType(Class type, String targetNamespace)
          Get QName for Class type
 ISOAPHeaderProcessor getHeaderProcessor(String action)
          Holds the basic function link to the SOAPHeader
static SOAPRegistry getInstance()
          Get the current instance of the SOAPRegistry
 Class getJavaType(QName qname, String targetNamespace)
          Get Java Type for QName
 Hashtable getListJavaTypes()
          Get list of Java types
 Hashtable getListQName()
          Get list of Qname
 Hashtable getListSerializers()
          Get List of Serializers
 Hashtable getListSpecializedRegistry()
          Get lsit of ISpecializedRegistry
 Hashtable getListUnSerializers()
          Get list of unserializers
 IMethodsAuthorizedProcessor getMethodsAuthorizedProcessor(String name)
          get an instance of IMethodsAuthorizedProcessor
 SOAPSerializer getSerializer(Class type, String encodingStyleURI)
          Get Serializer for Java Type
 ISpecializedRegistry getSpecializedRegistry(String name)
          Get an intance of specific registry for a Portal Service
 boolean isPrimitive(Class aClass)
          Test if the class is java lang primitive
 ISpecializedRegistry removeSpecializedRegistry(String name)
          Remove a specialized registry from the list
 void setArrayQName(QName name)
          Set the QName of SOAP Array Type
 void setArraySerializer(SOAPSerializer ser)
          Set the Serializer for SOAP Array Type
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static SOAPRegistry getInstance()
Get the current instance of the SOAPRegistry

Returns:
the instance

destroy

public static void destroy()
Destroy the instance


getDeserializer

public SOAPDeserializer getDeserializer(QName qname,
                                        String targetNamespace)
Get 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(Class type,
                                    String encodingStyleURI)
Get Serializer for Java Type

Parameters:
type - Type to find deserializer for
Returns:
the corresponding serializer

getElementType

public QName getElementType(Class type,
                            String targetNamespace)
Get 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(Class type)
Get QNameURI for Class type

Parameters:
type - the class to find
Returns:
the corresponding QNameURI

getDefaultNamespace

public String getDefaultNamespace(Class type)
Get Default namespace for the Java type

Parameters:
type - the Java type to find
Returns:
the namespace

getJavaType

public Class getJavaType(QName qname,
                         String targetNamespace)
Get Java Type for QName

Parameters:
qname - the QName to find
targetNamespace - (optinal since EP60 SP2)
Returns:
the corresponding java type

isPrimitive

public boolean isPrimitive(Class aClass)
Test if the class is java lang primitive

Parameters:
aClass - the class t determined
Returns:
tru if yes, false else.

addMappings

public void addMappings(String namespace,
                        Class javaType,
                        QName name,
                        SOAPDeserializer deserializer,
                        SOAPSerializer serializer)
Add entry for the mapping between java type and XMML/SOAP Qualified name

Parameters:
namespace - namespace of the of the mapping
javaType - the java type to map
name - the Qualidied name of the parameter
deserializer - the object corresponding to the adapted deserilaizer
serializer - the object corresponding to the adapted serilaizer

addSpecializedRegistry

public void addSpecializedRegistry(String name,
                                   ISpecializedRegistry registry)
Add registry entry corresponding to a Portal Service

Parameters:
name - the name of the service
registry - the correctly instanciated specific registry

getSpecializedRegistry

public ISpecializedRegistry getSpecializedRegistry(String name)
Get an intance of specific registry for a Portal Service

Parameters:
name - the name of the service to find
Returns:
the specific registry

getAllSpecializedRegistry

public Hashtable getAllSpecializedRegistry()
Get the list of the specialized registry contains in the central registry

Returns:
the list of registries

removeSpecializedRegistry

public ISpecializedRegistry removeSpecializedRegistry(String name)
Remove a specialized registry from the list

Parameters:
name - the name of the portal service attached to this registry
Returns:
the removed registry

addMethodsAuthorizedProcessor

public void addMethodsAuthorizedProcessor(String name,
                                          IMethodsAuthorizedProcessor methods)
Add in the list a IIMethodsAuthorizedProcessor instance

Parameters:
name - name of the portal service
methods - the processor

getMethodsAuthorizedProcessor

public IMethodsAuthorizedProcessor getMethodsAuthorizedProcessor(String name)
get an instance of IMethodsAuthorizedProcessor

Parameters:
name - the name of the portal service looking
Returns:
the corresponding IMethodsAuthorizedProcessor

setArrayQName

public void setArrayQName(QName name)
Set the QName of SOAP Array Type

Parameters:
name - the corresponding Qname

getArrayQName

public QName getArrayQName()
Get the QName Array for SOAP Array Type

Returns:
the corresponding QName

setArraySerializer

public void setArraySerializer(SOAPSerializer ser)
Set the Serializer for SOAP Array Type

Parameters:
ser - the corresponding serializer

getHeaderProcessor

public ISOAPHeaderProcessor getHeaderProcessor(String action)
Holds the basic function link to the SOAPHeader

Parameters:
action - action attahc to SOAP Header
Returns:
the processor of SOAP Headers

getListSerializers

public Hashtable getListSerializers()
Get List of Serializers

Returns:
the list

getListUnSerializers

public Hashtable getListUnSerializers()
Get list of unserializers

Returns:
the list

getListJavaTypes

public Hashtable getListJavaTypes()
Get list of Java types

Returns:
the list

getListQName

public Hashtable getListQName()
Get list of Qname

Returns:
the list

getListSpecializedRegistry

public Hashtable getListSpecializedRegistry()
Get lsit of ISpecializedRegistry

Returns:
the list


Copyright 2006 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.