Package javax.xml.soap
Class SAAJMetaFactory
- java.lang.Object
-
- javax.xml.soap.SAAJMetaFactory
-
public abstract class SAAJMetaFactory extends Object
The access point for the implementation classes of the factories defined in the SAAJ API. ThenewInstance
methods defined on factoriesSOAPFactory
andMessageFactory
in SAAJ 1.4 defer to instances of this class to do the actual object creation. The implementations ofnewInstance()
methods (inSOAPFactory
andMessageFactory
) that existed in SAAJ 1.2 have been updated to also delegate to the SAAJMetaFactory when the SAAJ 1.2 defined lookup fails to locate the Factory implementation class name.SAAJMetaFactory is a service provider interface and it uses similar lookup mechanism as other SAAJ factories to get actual instance:
- If a system property with name
javax.xml.soap.SAAJMetaFactory
exists then its value is assumed to be the fully qualified name of the implementation class. This phase of the look up enables per-JVM override of the SAAJ implementation. - If a system property with name
javax.xml.soap.MetaFactory
exists then its value is assumed to be the fully qualified name of the implementation class. This property, defined by previous specifications (up to 1.3), is still supported, but it is strongly recommended to migrate to new propertyjavax.xml.soap.SAAJMetaFactory
. - Use the configuration file "jaxm.properties". The file is in standard
Properties
format and typically located in theconf
directory of the Java installation. It contains the fully qualified name of the implementation class with keyjavax.xml.soap.SAAJMetaFactory
. If no such property is defined, again, property with keyjavax.xml.soap.MetaFactory
is used. It is strongly recommended to migrate to new propertyjavax.xml.soap.SAAJMetaFactory
. - Use the service-provider loading facilities, defined by the
ServiceLoader
class, to attempt to locate and load an implementation of the service using the default loading mechanism. - Finally, if all the steps above fail, platform default implementation is used.
There are no public methods on this class.
- Since:
- 1.6, SAAJ 1.3
- Author:
- SAAJ RI Development Team
- If a system property with name
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SAAJMetaFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description protected abstract MessageFactory
newMessageFactory(String protocol)
Creates aMessageFactory
object for the givenString
protocol.protected abstract SOAPFactory
newSOAPFactory(String protocol)
Creates aSOAPFactory
object for the givenString
protocol.
-
-
-
Method Detail
-
newMessageFactory
protected abstract MessageFactory newMessageFactory(String protocol) throws SOAPException
Creates aMessageFactory
object for the givenString
protocol.- Parameters:
protocol
- aString
indicating the protocol- Returns:
- a
MessageFactory
, not null - Throws:
SOAPException
- if there is an error in creating the MessageFactory- See Also:
SOAPConstants.SOAP_1_1_PROTOCOL
,SOAPConstants.SOAP_1_2_PROTOCOL
,SOAPConstants.DYNAMIC_SOAP_PROTOCOL
-
newSOAPFactory
protected abstract SOAPFactory newSOAPFactory(String protocol) throws SOAPException
Creates aSOAPFactory
object for the givenString
protocol.- Parameters:
protocol
- aString
indicating the protocol- Returns:
- a
SOAPFactory
, not null - Throws:
SOAPException
- if there is an error in creating the SOAPFactory- See Also:
SOAPConstants.SOAP_1_1_PROTOCOL
,SOAPConstants.SOAP_1_2_PROTOCOL
,SOAPConstants.DYNAMIC_SOAP_PROTOCOL
-
-