Class ReaderConfig

java.lang.Object
com.fasterxml.aalto.impl.CommonConfig
com.fasterxml.aalto.in.ReaderConfig

public final class ReaderConfig extends CommonConfig
This is the shared configuration object passed by the factory to reader, and by reader to whoever needs it (scanners at least).
  • Field Details

    • DEFAULT_SMALL_BUFFER_LEN

      public static final int DEFAULT_SMALL_BUFFER_LEN
      See Also:
    • DEFAULT_CHAR_BUFFER_LEN

      public static final int DEFAULT_CHAR_BUFFER_LEN
      See Also:
    • STANDALONE_UNKNOWN

      public static final int STANDALONE_UNKNOWN
      See Also:
    • STANDALONE_YES

      public static final int STANDALONE_YES
      See Also:
    • STANDALONE_NO

      public static final int STANDALONE_NO
      See Also:
    • F_NS_AWARE

      protected static final int F_NS_AWARE
      See Also:
    • F_COALESCING

      protected static final int F_COALESCING
      See Also:
    • F_DTD_AWARE

      protected static final int F_DTD_AWARE
      See Also:
    • F_DTD_VALIDATING

      protected static final int F_DTD_VALIDATING
      See Also:
    • F_EXPAND_ENTITIES

      protected static final int F_EXPAND_ENTITIES
      See Also:
    • F_LAZY_PARSING

      protected static final int F_LAZY_PARSING
      See Also:
    • F_INTERN_NAMES

      protected static final int F_INTERN_NAMES
      See Also:
    • F_INTERN_NS_URIS

      protected static final int F_INTERN_NS_URIS
      See Also:
    • F_REPORT_CDATA

      protected static final int F_REPORT_CDATA
      See Also:
    • F_PRESERVE_LOCATION

      protected static final int F_PRESERVE_LOCATION
      See Also:
    • F_AUTO_CLOSE_INPUT

      protected static final int F_AUTO_CLOSE_INPUT
      See Also:
    • F_RETAIN_ATTRIBUTE_GENERAL_ENTITIES

      protected static final int F_RETAIN_ATTRIBUTE_GENERAL_ENTITIES
      See Also:
    • DEFAULT_FLAGS

      protected static final int DEFAULT_FLAGS
      These are the default settings for XMLInputFactory.
      See Also:
    • sProperties

      private static final HashMap<String,Object> sProperties
    • mEncCtxt

      private final ReaderConfig.EncodingContext mEncCtxt
      A single encoding context instance is shared between all ReaderConfig instances created for readers by an input factory. It is used for sharing symbol tables.
    • mCanonicalizer

      private final UriCanonicalizer mCanonicalizer
      For efficient access by qualified name, as well as uniqueness checks, namespace URIs need to be canonicalized.
    • mPublicId

      private final String mPublicId
    • mSystemId

      private final String mSystemId
    • mExtEncoding

      private final String mExtEncoding
      Encoding passed in as external information, possibly from source from which xml content was gained from (for example, as an HTTP header, or file metadata).
    • mActualEncoding

      private String mActualEncoding
      Name of the actual encoding that input was found to be in (if any -- can't be determined if a Reader was passed in).
    • mXmlDeclVersion

      private String mXmlDeclVersion
    • mXmlDeclEncoding

      private String mXmlDeclEncoding
    • mXmlDeclStandalone

      private int mXmlDeclStandalone
    • mReporter

      private XMLReporter mReporter
    • mResolver

      private XMLResolver mResolver
    • illegalCharHandler

      private IllegalCharHandler illegalCharHandler
    • _recyclerRef

      static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
      This ThreadLocal contains a
      invalid reference
      SoftRerefence
      to a BufferRecycler used to provide a low-cost buffer recycling between Reader instances.
    • _currRecycler

      protected BufferRecycler _currRecycler
      This is the actually container of the recyclable buffers. It is obtained via ThreadLocal/SoftReference combination, if one exists, when Config instance is created. If one does not exist, it will created first time a buffer is returned.
  • Constructor Details

  • Method Details

    • setActualEncoding

      public void setActualEncoding(String actualEnc)
    • setXmlDeclInfo

      public void setXmlDeclInfo(int version, String xmlDeclEnc, String standalone)
    • setXmlVersion

      public final void setXmlVersion(String version)
    • setXmlEncoding

      public final void setXmlEncoding(String enc)
    • setXmlStandalone

      public final void setXmlStandalone(Boolean b)
    • setXMLReporter

      public void setXMLReporter(XMLReporter r)
    • setXMLResolver

      public void setXMLResolver(XMLResolver r)
    • doCoalesceText

      public void doCoalesceText(boolean state)
    • doAutoCloseInput

      public void doAutoCloseInput(boolean state)
    • doPreserveLocation

      public void doPreserveLocation(boolean state)
    • doParseLazily

      public void doParseLazily(boolean state)
    • doReportCData

      public void doReportCData(boolean state)
    • doRetainAttributeGeneralEntities

      public void doRetainAttributeGeneralEntities(boolean state)
      Parameters:
      state - Whether to enable or disable property
      Since:
      1.3
    • createNonShared

      public ReaderConfig createNonShared(String publicId, String systemId, String extEnc)
    • getExternalEncoding

      public String getExternalEncoding()
      Description copied from class: CommonConfig
      This method returns name of encoding that has been passed explicitly to the reader or writer, from outside. An example is that HTTP server may pass encoding as declared in HTTP headers. This should either be null (if none passed), or the same as actual encoding (which is determined from physical stream contents [for readers], or from encoder properties / configuration [for writers]
      Specified by:
      getExternalEncoding in class CommonConfig
      Returns:
      Encoding that has been passed externally by the application
    • getActualEncoding

      public String getActualEncoding()
      Specified by:
      getActualEncoding in class CommonConfig
      Returns:
      Actual encoding in use, as determined by the processor.
    • isXml11

      public boolean isXml11()
      Specified by:
      isXml11 in class CommonConfig
      Returns:
      True, if the processing will be done according to Xml 1.1 rules; false if according to xml 1.0
    • findPropertyId

      protected int findPropertyId(String propName)
    • getProperty

      public final Object getProperty(String name, boolean isMandatory)
      Overrides:
      getProperty in class CommonConfig
      Parameters:
      isMandatory - If true, unrecognized property should result in IllegalArgumentException
    • setProperty

      public boolean setProperty(String name, Object value)
      Overrides:
      setProperty in class CommonConfig
      Returns:
      True, if the specified property was succesfully set to specified value; false if its value was not changed
    • isPropertySupported

      public boolean isPropertySupported(String propName)
      Overrides:
      isPropertySupported in class CommonConfig
    • getXMLReporter

      public XMLReporter getXMLReporter()
    • getXMLResolver

      public XMLResolver getXMLResolver()
    • willExpandEntities

      public boolean willExpandEntities()
    • willCoalesceText

      public boolean willCoalesceText()
    • willSupportNamespaces

      public boolean willSupportNamespaces()
    • willParseLazily

      public boolean willParseLazily()
    • willInternNames

      public boolean willInternNames()
    • willInternNsURIs

      public boolean willInternNsURIs()
    • willReportCData

      public boolean willReportCData()
    • willPreserveLocation

      public boolean willPreserveLocation()
    • willAutoCloseInput

      public boolean willAutoCloseInput()
    • hasInternNamesBeenEnabled

      public boolean hasInternNamesBeenEnabled()
    • hasInternNsURIsBeenEnabled

      public boolean hasInternNsURIsBeenEnabled()
    • willRetainAttributeGeneralEntities

      public boolean willRetainAttributeGeneralEntities()
      Accessor for checking configured state of AaltoInputProperties.P_RETAIN_ATTRIBUTE_GENERAL_ENTITIES.
      Returns:
      Whether the property is enabled or disabled
      Since:
      1.3
    • getPublicId

      public String getPublicId()
    • getSystemId

      public String getSystemId()
    • getXmlDeclVersion

      public String getXmlDeclVersion()
    • getXmlDeclEncoding

      public String getXmlDeclEncoding()
    • getXmlDeclStandalone

      public int getXmlDeclStandalone()
    • configureForXmlConformance

      public void configureForXmlConformance()
      Method to call to make Reader created conform as closely to XML standard as possible, doing all checks and transformations mandated (linefeed conversions, attr value normalizations). See XMLInputFactory2.configureForXmlConformance() for required settings for standard StAX/StAX2 properties.

      Notes: Does NOT change 'performance' settings (buffer sizes, DTD caching, coalescing, interning, accurate location info).

    • configureForConvenience

      public void configureForConvenience()
      Method to call to make Reader created be as "convenient" to use as possible; ie try to avoid having to deal with some of things like segmented text chunks. This may incur some slight performance penalties, but should not affect XML conformance. See XMLInputFactory2.configureForConvenience() for required settings for standard StAX/StAX2 properties.
    • configureForSpeed

      public void configureForSpeed()
      Method to call to make the Reader created be as fast as possible reading documents, especially for long-running processes where caching is likely to help.

      See XMLInputFactory2.configureForSpeed() for required settings for standard StAX/StAX2 properties.

    • configureForLowMemUsage

      public void configureForLowMemUsage()
      Method to call to minimize the memory usage of the stream/event reader; both regarding Objects created, and the temporary memory usage during parsing. This generally incurs some performance penalties, due to using smaller input buffers.

      See XMLInputFactory2.configureForLowMemUsage() for required settings for standard StAX/StAX2 properties.

    • configureForRoundTripping

      public void configureForRoundTripping()
      Method to call to make Reader try to preserve as much of input formatting as possible, so that round-tripping would be as lossless as possible.

      See XMLInputFactory2.configureForLowMemUsage() for required settings for standard StAX/StAX2 properties.

    • canonicalizeURI

      public String canonicalizeURI(char[] buf, int uriLen)
    • allocSmallCBuffer

      public char[] allocSmallCBuffer(int minSize)
    • freeSmallCBuffer

      public void freeSmallCBuffer(char[] buffer)
    • allocMediumCBuffer

      public char[] allocMediumCBuffer(int minSize)
    • freeMediumCBuffer

      public void freeMediumCBuffer(char[] buffer)
    • allocFullCBuffer

      public char[] allocFullCBuffer(int minSize)
    • freeFullCBuffer

      public void freeFullCBuffer(char[] buffer)
    • allocFullBBuffer

      public byte[] allocFullBBuffer(int minSize)
    • freeFullBBuffer

      public void freeFullBBuffer(byte[] buffer)
    • createRecycler

      private BufferRecycler createRecycler()
    • getBBSymbols

      public ByteBasedPNameTable getBBSymbols()
    • getCBSymbols

      public CharBasedPNameTable getCBSymbols()
    • updateBBSymbols

      public void updateBBSymbols(ByteBasedPNameTable sym)
    • updateCBSymbols

      public void updateCBSymbols(CharBasedPNameTable sym)
    • getCharTypes

      public XmlCharTypes getCharTypes()
    • setIllegalCharHandler

      public void setIllegalCharHandler(IllegalCharHandler illegalCharHandler)
    • getIllegalCharHandler

      public IllegalCharHandler getIllegalCharHandler()