Class ModifiedPomXMLEventReader

java.lang.Object
org.codehaus.mojo.versions.rewriting.ModifiedPomXMLEventReader
All Implemented Interfaces:
Iterator, XMLEventReader

public class ModifiedPomXMLEventReader extends Object implements XMLEventReader
Represents the modified pom file. Note: implementations of the StAX API (JSR-173) are not good round-trip rewriting while keeping all unchanged bytes in the file as is. For example, the StAX API specifies that CR characters will be stripped. Current implementations do not keep " and ' characters consistent.
Author:
Stephen Connolly
  • Constructor Details

    • ModifiedPomXMLEventReader

      public ModifiedPomXMLEventReader(StringBuilder pom, XMLInputFactory factory, String path) throws XMLStreamException
      Constructor ModifiedPomXMLEventReader creates a new ModifiedPomXMLEventReader instance.
      Parameters:
      pom - of type StringBuilder
      factory - of type XMLInputFactory
      path - Path pointing to source of XML
      Throws:
      XMLStreamException - when
  • Method Details

    • rewind

      public void rewind() throws XMLStreamException
      Rewind to the start so we can run through again.
      Throws:
      XMLStreamException - when things go wrong.
    • isModified

      public boolean isModified()
      Getter for property 'modified'.
      Returns:
      Value for property 'modified'.
    • next

      public Object next()
      Specified by:
      next in interface Iterator
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator
    • nextEvent

      public XMLEvent nextEvent() throws XMLStreamException
      Specified by:
      nextEvent in interface XMLEventReader
      Throws:
      XMLStreamException
    • peek

      public XMLEvent peek() throws XMLStreamException
      Specified by:
      peek in interface XMLEventReader
      Throws:
      XMLStreamException
    • getElementText

      public String getElementText() throws XMLStreamException
      Specified by:
      getElementText in interface XMLEventReader
      Throws:
      XMLStreamException
    • nextTag

      public XMLEvent nextTag() throws XMLStreamException
      Specified by:
      nextTag in interface XMLEventReader
      Throws:
      XMLStreamException
    • getProperty

      public Object getProperty(String name)
      Specified by:
      getProperty in interface XMLEventReader
    • close

      public void close() throws XMLStreamException
      Specified by:
      close in interface XMLEventReader
      Throws:
      XMLStreamException
    • asStringBuilder

      public StringBuilder asStringBuilder()
      Returns a copy of the backing string buffer.
      Returns:
      a copy of the backing string buffer.
    • clearMark

      public void clearMark(int index)
      Clears the mark.
      Parameters:
      index - the mark to clear.
    • getMarkVerbatim

      public String getMarkVerbatim(int index)
      the verbatim text of the current element when mark(int) was called.
      Parameters:
      index - The mark index.
      Returns:
      the current element when mark(int) was called.
    • getPeekVerbatim

      public String getPeekVerbatim()
      Returns the verbatim text of the element returned by peek().
      Returns:
      the verbatim text of the element returned by peek().
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator
      Specified by:
      hasNext in interface XMLEventReader
    • getVerbatim

      public String getVerbatim()
      Getter for property 'verbatim'.
      Returns:
      Value for property 'verbatim'.
    • mark

      public void mark(int index)
      Sets a mark to the current event.
      Parameters:
      index - the mark to set.
    • replace

      public void replace(String replacement)
      Replaces the current element with the replacement text.
      Parameters:
      replacement - The replacement.
    • hasMark

      public boolean hasMark(int index)
      Returns true if the specified mark is defined.
      Parameters:
      index - The mark.
      Returns:
      true if the specified mark is defined.
    • getBetween

      public String getBetween(int index1, int index2)
    • replaceBetween

      public void replaceBetween(int index1, int index2, String replacement)
      Replaces all content between marks index1 and index2 with the replacement text.
      Parameters:
      index1 - The event mark to replace after.
      index2 - The event mark to replace before.
      replacement - The replacement.
    • replaceMark

      public void replaceMark(int index, String replacement)
      Replaces the specified marked element with the replacement text.
      Parameters:
      index - The mark.
      replacement - The replacement.
    • parse

      public org.apache.maven.model.Model parse() throws IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
      Throws:
      IOException
      org.codehaus.plexus.util.xml.pull.XmlPullParserException
    • getPath

      public String getPath()