compact2, compact3
javax.xml.stream.util

## Interface XMLEventAllocator

-     public interface XMLEventAllocator

  This interface defines a class that allows a user to register a way to allocate events given an XMLStreamReader. An implementation is not required to use the XMLEventFactory implementation but this is recommended. The XMLEventAllocator can be set on an XMLInputFactory using the property "javax.xml.stream.allocator"
  Since:
    1.6
  Version:
    1.0
  See Also:
    `XMLInputFactory`, `XMLEventFactory`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `XMLEvent` | `allocate(XMLStreamReader reader)` | This method allocates an event given the current state of the XMLStreamReader.
    `void` | `allocate(XMLStreamReader reader, XMLEventConsumer consumer)` | This method allocates an event or set of events given the current state of the XMLStreamReader and adds the event or set of events to the consumer that was passed in.
    `XMLEventAllocator` | `newInstance()` | This method creates an instance of the XMLEventAllocator.

- - ### Method Detail

    - #### newInstance

          XMLEventAllocator newInstance()

      This method creates an instance of the XMLEventAllocator. This allows the XMLInputFactory to allocate a new instance per reader.

    - #### allocate

          XMLEvent allocate(XMLStreamReader reader)
                     throws XMLStreamException

      This method allocates an event given the current state of the XMLStreamReader. If this XMLEventAllocator does not have a one-to-one mapping between reader states and events this method will return null. This method must not modify the state of the XMLStreamReader.
      Parameters:
        `reader` - The XMLStreamReader to allocate from
      Returns:
        the event corresponding to the current reader state
      Throws:
        `XMLStreamException`

    - #### allocate

          void allocate(XMLStreamReader reader,
                        XMLEventConsumer consumer)
                 throws XMLStreamException

      This method allocates an event or set of events given the current state of the XMLStreamReader and adds the event or set of events to the consumer that was passed in. This method can be used to expand or contract reader states into event states. This method may modify the state of the XMLStreamReader.
      Parameters:
        `reader` - The XMLStreamReader to allocate from
        `consumer` - The XMLEventConsumer to add to.
      Throws:
        `XMLStreamException`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.