Class AbstractMapBasedEndpointMapping
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping
org.springframework.ws.server.endpoint.mapping.AbstractMapBasedEndpointMapping
- All Implemented Interfaces:
- org.springframework.beans.factory.Aware,- org.springframework.context.ApplicationContextAware,- org.springframework.core.Ordered,- EndpointMapping
- Direct Known Subclasses:
- AbstractQNameEndpointMapping,- SoapActionEndpointMapping,- UriEndpointMapping,- XPathPayloadEndpointMapping
Abstract base class for endpoint mapping that are based on a 
Map. Provides mappings of application context
 beans as well as a settable map.
 Subclasses determine the exact nature of the key in the enpoint map; this can be a qualified name, a SOAP Header, the result of a XPath validation. The values are always endpoint objects, or bean names of endpoint objects.
- Since:
- 1.0.0
- Author:
- Arjen Poutsma
- 
Field SummaryFields inherited from class org.springframework.context.support.ApplicationObjectSupportloggerFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected final ObjectgetEndpointInternal(MessageContext messageContext) Lookup an endpoint for the given message.protected abstract StringgetLookupKeyForMessage(MessageContext messageContext) Returns the endpoint key for the given message context.protected final voidRegisters annd checks the set endpoints.protected ObjectlookupEndpoint(String key) Looks up an endpoint instance for the given keys.protected voidregisterEndpoint(String key, Object endpoint) Register the given endpoint instance under the registration key.final voidsetEndpointMap(Map<String, Object> endpointMap) Sets a Map with keys and endpoint beans as values.voidsetLazyInitEndpoints(boolean lazyInitEndpoints) Set whether to lazily initialize endpoints.voidsetMappings(Properties mappings) Maps keys to endpoint bean names.final voidsetRegisterBeanNames(boolean registerBeanNames) Set whether to register bean names found in the application context.protected abstract booleanvalidateLookupKey(String key) Validates the given endpoint key.Methods inherited from class org.springframework.ws.server.endpoint.mapping.AbstractEndpointMappingcreateEndpointInvocationChain, getDefaultEndpoint, getEndpoint, getInterceptors, getOrder, initInterceptors, resolveStringEndpoint, setDefaultEndpoint, setInterceptors, setOrderMethods inherited from class org.springframework.context.support.ApplicationObjectSupportgetApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
- 
Constructor Details- 
AbstractMapBasedEndpointMappingpublic AbstractMapBasedEndpointMapping()
 
- 
- 
Method Details- 
setLazyInitEndpointspublic void setLazyInitEndpoints(boolean lazyInitEndpoints) Set whether to lazily initialize endpoints. Only applicable to singleton endpoints, as prototypes are always lazily initialized. Default isfalse, as eager initialization allows for more efficiency through referencing the controller objects directly.If you want to allow your endpoints to be lazily initialized, make them "lazy-init" and set this flag to true. Just making them "lazy-init" will not work, as they are initialized through the references from the endpoint mapping in this case.
- 
setRegisterBeanNamespublic final void setRegisterBeanNames(boolean registerBeanNames) Set whether to register bean names found in the application context. Setting this totruewill register all beans found in the application context under their name. Default isfalse.
- 
setEndpointMapSets a Map with keys and endpoint beans as values. The nature of the keys in the given map depends on the exact subclass used. They can be qualified names, for instance, or mime headers.- Throws:
- IllegalArgumentException- if the endpoint is invalid
 
- 
setMappingsMaps keys to endpoint bean names. The nature of the property names depends on the exact subclass used. They can be qualified names, for instance, or mime headers.
- 
validateLookupKeyValidates the given endpoint key. Should returntrueis the given string is valid.
- 
getLookupKeyForMessageReturns the endpoint key for the given message context. Returnsnullif a key cannot be found.- Returns:
- the registration key; or null
- Throws:
- Exception
 
- 
getEndpointInternalLookup an endpoint for the given message. The extraction of the endpoint key is delegated to the concrete subclass.- Specified by:
- getEndpointInternalin class- AbstractEndpointMapping
- Returns:
- the looked up endpoint, or null
- Throws:
- Exception- if there is an error
 
- 
lookupEndpointLooks up an endpoint instance for the given keys. All keys are tried in order.- Parameters:
- key- key the beans are mapped to
- Returns:
- the associated endpoint instance, or nullif not found
 
- 
registerEndpointprotected void registerEndpoint(String key, Object endpoint) throws org.springframework.beans.BeansException Register the given endpoint instance under the registration key.- Parameters:
- key- the string representation of the registration key
- endpoint- the endpoint instance
- Throws:
- org.springframework.beans.BeansException- if the endpoint could not be registered
 
- 
initApplicationContextprotected final void initApplicationContext() throws org.springframework.beans.BeansExceptionRegisters annd checks the set endpoints. Checks the beans set throughsetEndpointMapandsetMappings, and registers the bean names found in the application context, ifregisterBeanNamesis set totrue.- Overrides:
- initApplicationContextin class- AbstractEndpointMapping
- Throws:
- org.springframework.context.ApplicationContextException- if either of the endpoints defined via- setEndpointMapor- setMappingsis invalid
- org.springframework.beans.BeansException
- See Also:
 
 
-