Class AbstractWriter

    • Constructor Detail

      • AbstractWriter

        protected AbstractWriter()
        Creates an AbstractWriter with a NameCoder that does nothing.
        Since:
        1.4
      • AbstractWriter

        protected AbstractWriter​(NameCoder nameCoder)
        Creates an AbstractWriter with a provided NameCoder.
        Parameters:
        nameCoder - the name coder used to write names in the target format
        Since:
        1.4
    • Method Detail

      • underlyingWriter

        public HierarchicalStreamWriter underlyingWriter()
        Return the underlying HierarchicalStreamWriter implementation.

        If a Converter needs to access methods of a specific HierarchicalStreamWriter implementation that are not defined in the HierarchicalStreamWriter interface, it should call this method before casting. This is because the writer passed to the Converter is often wrapped/decorated by another implementation to provide additional functionality (such as XPath tracking).

        For example:

        MySpecificWriter mySpecificWriter = (MySpecificWriter)writer; // INCORRECT!
         mySpecificWriter.doSomethingSpecific();
        MySpecificWriter mySpecificWriter = (MySpecificWriter)writer.underlyingWriter();  // CORRECT!
         mySpecificWriter.doSomethingSpecific();

        Implementations of HierarchicalStreamWriter should return 'this', unless they are a decorator, in which case they should delegate to whatever they are wrapping.

        Specified by:
        underlyingWriter in interface HierarchicalStreamWriter
      • encodeNode

        public java.lang.String encodeNode​(java.lang.String name)
        Encode the node name into the name of the target format.
        Parameters:
        name - the original name
        Returns:
        the name in the target format
        Since:
        1.4
      • encodeAttribute

        public java.lang.String encodeAttribute​(java.lang.String name)
        Encode the attribute name into the name of the target format.
        Parameters:
        name - the original name
        Returns:
        the name in the target format
        Since:
        1.4