java.lang.Object
jakarta.xml.soap.SAAJMetaFactory
The access point for the implementation classes of the factories defined in the
SAAJ API. The
newInstance
methods defined on factories SOAPFactory
and
MessageFactory
in SAAJ 1.4 defer to instances of this class to do the actual object creation.
The implementations of newInstance()
methods (in SOAPFactory
and MessageFactory
)
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
jakarta.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
jakarta.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 propertyjakarta.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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static SAAJMetaFactory
Creates a new instance of a concreteSAAJMetaFactory
object.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.
-
Field Details
-
DEFAULT_META_FACTORY_CLASS
- See Also:
-
-
Constructor Details
-
SAAJMetaFactory
protected SAAJMetaFactory()Default constructor.
-
-
Method Details
-
getInstance
Creates a new instance of a concreteSAAJMetaFactory
object. The SAAJMetaFactory is an SPI, it pulls the creation of the other factories together into a single place. Changing out the SAAJMetaFactory has the effect of changing out the entire SAAJ implementation. Service providers provide the name of theirSAAJMetaFactory
implementation.This method uses the lookup procedure specified in
jakarta.xml.soap
to locate and load theSAAJMetaFactory
class.- Returns:
- a concrete
SAAJMetaFactory
object - Throws:
SOAPException
- if there is an error in creating theSAAJMetaFactory
-
newMessageFactory
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:
-
newSOAPFactory
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:
-