|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.factory.support.AbstractBeanDefinitionReader org.springframework.beans.factory.xml.XmlBeanDefinitionReader
public class XmlBeanDefinitionReader
Bean definition reader for XML bean definitions.
Delegates the actual XML document reading to an implementation
of the BeanDefinitionDocumentReader
interface.
Typically applied to a
DefaultListableBeanFactory
or a GenericApplicationContext
.
This class loads a DOM document and applies the BeanDefinitionDocumentReader to it.
The document reader will register each bean definition with the given bean factory,
talking to the latter's implementation of the
BeanDefinitionRegistry
interface.
setDocumentReaderClass(java.lang.Class)
,
BeanDefinitionDocumentReader
,
DefaultBeanDefinitionDocumentReader
,
BeanDefinitionRegistry
,
DefaultListableBeanFactory
,
GenericApplicationContext
Field Summary | |
---|---|
static int |
VALIDATION_AUTO
Indicates that the validation mode should be detected automatically. |
static int |
VALIDATION_DTD
Indicates that DTD validation should be used. |
static int |
VALIDATION_NONE
Indicates that the validation should be disabled. |
static int |
VALIDATION_XSD
Indicates that XSD validation should be used. |
Fields inherited from class org.springframework.beans.factory.support.AbstractBeanDefinitionReader |
---|
logger |
Constructor Summary | |
---|---|
XmlBeanDefinitionReader(BeanDefinitionRegistry registry)
Create new XmlBeanDefinitionReader for the given bean factory. |
Method Summary | |
---|---|
protected BeanDefinitionDocumentReader |
createBeanDefinitionDocumentReader()
Create the BeanDefinitionDocumentReader to use for actually
reading bean definitions from an XML document. |
protected NamespaceHandlerResolver |
createDefaultNamespaceHandlerResolver()
Create the default implementation of NamespaceHandlerResolver used if none is specified. |
protected XmlReaderContext |
createReaderContext(Resource resource)
Create the XmlReaderContext to pass over to the document reader. |
protected int |
detectValidationMode(Resource resource)
Detects which kind of validation to perform on the XML file identified by the supplied Resource . |
protected int |
doLoadBeanDefinitions(InputSource inputSource,
Resource resource)
Actually load bean definitions from the specified XML file. |
protected EntityResolver |
getEntityResolver()
Return the EntityResolver to use, building a default resolver if none specified. |
int |
getValidationMode()
Return the validation mode to use. |
protected int |
getValidationModeForResource(Resource resource)
Gets the validation mode for the specified Resource . |
boolean |
isNamespaceAware()
Return whether or not the XML parser should be XML namespace aware. |
int |
loadBeanDefinitions(EncodedResource encodedResource)
Load bean definitions from the specified XML file. |
int |
loadBeanDefinitions(InputSource inputSource)
Load bean definitions from the specified XML file. |
int |
loadBeanDefinitions(InputSource inputSource,
String resourceDescription)
Load bean definitions from the specified XML file. |
int |
loadBeanDefinitions(Resource resource)
Load bean definitions from the specified XML file. |
int |
registerBeanDefinitions(Document doc,
Resource resource)
Register the bean definitions contained in the given DOM document. |
void |
setDocumentLoader(DocumentLoader documentLoader)
Specify the DocumentLoader to use. |
void |
setDocumentReaderClass(Class documentReaderClass)
Specify the BeanDefinitionDocumentReader implementation to use, responsible for the actual reading of the XML bean definition document. |
void |
setEntityResolver(EntityResolver entityResolver)
Set a SAX entity resolver to be used for parsing. |
void |
setErrorHandler(ErrorHandler errorHandler)
Set an implementation of the org.xml.sax.ErrorHandler
interface for custom handling of XML parsing errors and warnings. |
void |
setEventListener(ReaderEventListener eventListener)
Specify which ReaderEventListener to use. |
void |
setNamespaceAware(boolean namespaceAware)
Set whether or not the XML parser should be XML namespace aware. |
void |
setNamespaceHandlerResolver(NamespaceHandlerResolver namespaceHandlerResolver)
Specify the NamespaceHandlerResolver to use. |
void |
setParserClass(Class parserClass)
Deprecated. as of Spring 2.0: superseded by "documentReaderClass" |
void |
setProblemReporter(ProblemReporter problemReporter)
Specify which ProblemReporter to use. |
void |
setSourceExtractor(SourceExtractor sourceExtractor)
Specify the SourceExtractor to use. |
void |
setValidating(boolean validating)
Deprecated. as of Spring 2.0: superseded by "validationMode" |
void |
setValidationMode(int validationMode)
Set the validation mode to use. |
void |
setValidationModeName(String validationModeName)
Set the validation mode to use by name. |
Methods inherited from class org.springframework.beans.factory.support.AbstractBeanDefinitionReader |
---|
getBeanClassLoader, getBeanFactory, getBeanNameGenerator, getRegistry, getResourceLoader, loadBeanDefinitions, loadBeanDefinitions, loadBeanDefinitions, loadBeanDefinitions, setBeanClassLoader, setBeanNameGenerator, setResourceLoader |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int VALIDATION_NONE
public static final int VALIDATION_AUTO
public static final int VALIDATION_DTD
public static final int VALIDATION_XSD
Constructor Detail |
---|
public XmlBeanDefinitionReader(BeanDefinitionRegistry registry)
registry
- the BeanFactory to load bean definitions into,
in the form of a BeanDefinitionRegistryMethod Detail |
---|
public void setNamespaceAware(boolean namespaceAware)
public boolean isNamespaceAware()
public void setValidating(boolean validating)
setValidationMode(int)
public void setValidationModeName(String validationModeName)
VALIDATION_AUTO
.
public void setValidationMode(int validationMode)
VALIDATION_AUTO
.
public int getValidationMode()
public void setProblemReporter(ProblemReporter problemReporter)
ProblemReporter
to use. Default implementation is
FailFastProblemReporter
which exhibits fail fast behaviour. External tools
can provide an alternative implementation that collates errors and warnings for
display in the tool UI.
public void setEventListener(ReaderEventListener eventListener)
ReaderEventListener
to use. Default implementation is
EmptyReaderEventListener which discards every event notification. External tools
can provide an alternative implementation to monitor the components being registered
in the BeanFactory.
public void setSourceExtractor(SourceExtractor sourceExtractor)
SourceExtractor
to use. The default implementation is
NullSourceExtractor
which simply returns null
as the source object.
This means that during normal runtime execution no additional source metadata is attached
to the bean configuration metadata.
public void setNamespaceHandlerResolver(NamespaceHandlerResolver namespaceHandlerResolver)
NamespaceHandlerResolver
to use. If none is specified a default
instance will be created by createDefaultNamespaceHandlerResolver()
.
public void setDocumentLoader(DocumentLoader documentLoader)
DocumentLoader
to use. The default implementation is
DefaultDocumentLoader
which loads Document
instances using JAXP.
public void setEntityResolver(EntityResolver entityResolver)
BeansDtdResolver
protected EntityResolver getEntityResolver()
public void setErrorHandler(ErrorHandler errorHandler)
org.xml.sax.ErrorHandler
interface for custom handling of XML parsing errors and warnings.
If not set, a default SimpleSaxErrorHandler is used that simply logs warnings using the logger instance of the view class, and rethrows errors to discontinue the XML transformation.
SimpleSaxErrorHandler
public void setParserClass(Class parserClass)
setDocumentReaderClass(java.lang.Class)
,
XmlBeanDefinitionParser
public void setDocumentReaderClass(Class documentReaderClass)
Default is DefaultBeanDefinitionDocumentReader.
documentReaderClass
- the desired BeanDefinitionDocumentReader implementation classBeanDefinitionDocumentReader
,
DefaultBeanDefinitionDocumentReader
public int loadBeanDefinitions(Resource resource) throws BeanDefinitionStoreException
resource
- the resource descriptor for the XML file
BeanDefinitionStoreException
- in case of loading or parsing errorspublic int loadBeanDefinitions(EncodedResource encodedResource) throws BeanDefinitionStoreException
encodedResource
- the resource descriptor for the XML file,
allowing to specify an encoding to use for parsing the file
BeanDefinitionStoreException
- in case of loading or parsing errorspublic int loadBeanDefinitions(InputSource inputSource) throws BeanDefinitionStoreException
inputSource
- the SAX InputSource to read from
BeanDefinitionStoreException
- in case of loading or parsing errorspublic int loadBeanDefinitions(InputSource inputSource, String resourceDescription) throws BeanDefinitionStoreException
inputSource
- the SAX InputSource to read fromresourceDescription
- a description of the resource
(can be null
or empty)
BeanDefinitionStoreException
- in case of loading or parsing errorsprotected int doLoadBeanDefinitions(InputSource inputSource, Resource resource) throws BeanDefinitionStoreException
inputSource
- the SAX InputSource to read fromresource
- the resource descriptor for the XML file
BeanDefinitionStoreException
- in case of loading or parsing errorsprotected int getValidationModeForResource(Resource resource)
Resource
. If no explicit
validation mode has been configured then the validation mode is
detected
.
Override this method if you would like full control over the validation
mode, even when something other than VALIDATION_AUTO
was set.
protected int detectValidationMode(Resource resource)
Resource
. If the file has a DOCTYPE
definition then DTD validation is used otherwise XSD validation is assumed.
Override this method if you would like to customize resolution
of the VALIDATION_AUTO
mode.
public int registerBeanDefinitions(Document doc, Resource resource) throws BeanDefinitionStoreException
loadBeanDefinitions
.
Creates a new instance of the parser class and invokes
registerBeanDefinitions
on it.
doc
- the DOM documentresource
- the resource descriptor (for context information)
BeanDefinitionStoreException
- in case of parsing errorsloadBeanDefinitions(org.springframework.core.io.Resource)
,
setDocumentReaderClass(java.lang.Class)
,
BeanDefinitionDocumentReader.registerBeanDefinitions(org.w3c.dom.Document, org.springframework.beans.factory.xml.XmlReaderContext)
protected BeanDefinitionDocumentReader createBeanDefinitionDocumentReader()
BeanDefinitionDocumentReader
to use for actually
reading bean definitions from an XML document.
Default implementation instantiates the specified "documentReaderClass".
setDocumentReaderClass(java.lang.Class)
protected XmlReaderContext createReaderContext(Resource resource)
XmlReaderContext
to pass over to the document reader.
protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver()
NamespaceHandlerResolver
used if none is specified.
Default implementation returns an instance of DefaultNamespaceHandlerResolver
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |