com.fasterxml.aalto.AsyncXMLStreamReader.next()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中com.fasterxml.aalto.AsyncXMLStreamReader.next()方法的一些代码示例,展示了AsyncXMLStreamReader.next()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AsyncXMLStreamReader.next()方法的具体详情如下:
包路径:com.fasterxml.aalto.AsyncXMLStreamReader
类名称:AsyncXMLStreamReader
方法名:next

AsyncXMLStreamReader.next介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
  try {
    this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
    List<XMLEvent> events = new ArrayList<>();
    while (true) {
      if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
        // no more events with what currently has been fed to the reader
        break;
      }
      else {
        XMLEvent event = this.eventAllocator.allocate(this.streamReader);
        events.add(event);
        if (event.isEndDocument()) {
          break;
        }
      }
    }
    return Flux.fromIterable(events);
  }
  catch (XMLStreamException ex) {
    return Mono.error(ex);
  }
  finally {
    DataBufferUtils.release(dataBuffer);
  }
}

代码示例来源:origin: org.springframework/spring-web

@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
  try {
    this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
    List<XMLEvent> events = new ArrayList<>();
    while (true) {
      if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
        // no more events with what currently has been fed to the reader
        break;
      }
      else {
        XMLEvent event = this.eventAllocator.allocate(this.streamReader);
        events.add(event);
        if (event.isEndDocument()) {
          break;
        }
      }
    }
    return Flux.fromIterable(events);
  }
  catch (XMLStreamException ex) {
    return Mono.error(ex);
  }
  finally {
    DataBufferUtils.release(dataBuffer);
  }
}

代码示例来源:origin: wildfly/wildfly

int type = streamReader.next();
switch (type) {
  case XMLStreamConstants.START_DOCUMENT:

代码示例来源:origin: stackoverflow.com

byte[] msg = "<html>Very <b>simple</b> input document!</html>".getBytes();
  AsyncXMLStreamReader asyncReader = new InputFactoryImpl().createAsyncXMLStreamReader();
  final AsyncInputFeeder feeder = asyncReader.getInputFeeder();
  int inputPtr = 0; // as we feed byte at a time
  int type = 0;
  do {
   // May need to feed multiple "segments"
   while ((type = asyncReader.next()) == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
    feeder.feedInput(msg, inputPtr++, 1);
    if (inputPtr >= msg.length) { // to indicate end-of-content (important for error handling)
     feeder.endOfInput();
    }
   }
   // and once we have full event, we just dump out event type (for now)
   System.out.println("Got event of type: "+type);
   // could also just copy event as is, using Stax, or do any other normal non-blocking handling:
   // xmlStreamWriter.copyEventFromReader(asyncReader, false);
  } while (type != AsyncXMLStreamReader.END_DOCUMENT);

代码示例来源:origin: xose/netty-xmpp

@Override
protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception {
  final List<XMLEvent> result = new ArrayList<XMLEvent>();
  byte[] chunk = new byte[buffer.readableBytes()];
  buffer.readBytes(chunk);
  
  reader.getInputFeeder().feedInput(chunk, 0, chunk.length);
  while (reader.hasNext() && reader.next() != AsyncXMLStreamReader.EVENT_INCOMPLETE) {
    result.add(allocator.allocate(reader));
  }
  return result;
}

代码示例来源:origin: georocket/georocket

@Override
public boolean hasNext() {
 // read next token
 int event;
 try {
  event = parser.next();
 } catch (XMLStreamException e) {
  throw new IllegalStateException("Could not parse input", e);
 }
 if (event == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
  // wait for more input
  return false;
 } else if (event == AsyncXMLStreamReader.END_DOCUMENT) {
  try {
   parser.close();
   return false;
  } catch (XMLStreamException e) {
   throw new IllegalStateException("Could not close input", e);
  }
 }
 // create stream event
 int pos = parser.getLocation().getCharacterOffset();
 nextEvent = new XMLStreamEvent(event, pos, parser);
 return true;
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
  try {
    this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
    List<XMLEvent> events = new ArrayList<>();
    while (true) {
      if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
        // no more events with what currently has been fed to the reader
        break;
      }
      else {
        XMLEvent event = this.eventAllocator.allocate(this.streamReader);
        events.add(event);
        if (event.isEndDocument()) {
          break;
        }
      }
    }
    return Flux.fromIterable(events);
  }
  catch (XMLStreamException ex) {
    return Mono.error(ex);
  }
  finally {
    DataBufferUtils.release(dataBuffer);
  }
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web

@Override
public Publisher<? extends XMLEvent> apply(DataBuffer dataBuffer) {
  try {
    this.streamReader.getInputFeeder().feedInput(dataBuffer.asByteBuffer());
    List<XMLEvent> events = new ArrayList<>();
    while (true) {
      if (this.streamReader.next() == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
        // no more events with what currently has been fed to the reader
        break;
      }
      else {
        XMLEvent event = this.eventAllocator.allocate(this.streamReader);
        events.add(event);
        if (event.isEndDocument()) {
          break;
        }
      }
    }
    return Flux.fromIterable(events);
  }
  catch (XMLStreamException ex) {
    return Mono.error(ex);
  }
  finally {
    DataBufferUtils.release(dataBuffer);
  }
}

代码示例来源:origin: rocks.xmpp/xmpp-nio-codec

while ((type = xmlStreamReader.next()) != XMLStreamConstants.END_DOCUMENT && type != AsyncXMLStreamReader.EVENT_INCOMPLETE) {

代码示例来源:origin: org.jboss.eap/wildfly-client-all

int type = streamReader.next();
switch (type) {
  case XMLStreamConstants.START_DOCUMENT:

代码示例来源:origin: org.apache.hbase.thirdparty/hbase-shaded-netty

int type = streamReader.next();
switch (type) {
  case XMLStreamConstants.START_DOCUMENT:

代码示例来源:origin: org.apache.ratis/ratis-proto-shaded

int type = streamReader.next();
switch (type) {
  case XMLStreamConstants.START_DOCUMENT:

代码示例来源:origin: georocket/georocket

List<Result<XMLChunkMeta>> chunks = new ArrayList<>();
while (reader.hasNext()) {
 int event = reader.next();
 if (event == AsyncXMLStreamReader.EVENT_INCOMPLETE) {
  reader.close();

相关文章

微信公众号

最新文章

更多