T
- type of the file
public abstract class AbstractMessageParser<T> extends Object implements MessageParser<T>
从Orekit 11.0开始,CCSDS消息解析器是可变对象,它们收集被解析的数据,直到消息完整并且parseMessage
方法已经返回。这意味着解析器不应该在多线程环境中使用。推荐使用解析器的方式要么为每个消息专门分配一个解析器并在完成后丢弃它,要么使用单线程循环。
Modifier | Constructor and Description |
---|---|
protected |
AbstractMessageParser(String root, String formatVersionKey, Function<ParseToken,List<ParseToken>>[] filters)
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
anticipateNext(ProcessingState anticipated)
预期下一个处理状态应该是什么。
|
ProcessingState |
getCurrent()
获取当前处理状态。
|
FileFormat |
getFileFormat()
获取上次解析的消息的文件格式。
|
String |
getFormatVersionKey()
获取格式版本的键。
|
Map<String,XmlTokenBuilder> |
getSpecialXmlElementsBuilders()
获取特殊XML元素的非默认标记构建器。
|
T |
parseMessage(DataSource source)
解析数据源。
|
void |
process(ParseToken token)
处理解析标记。
|
protected void |
reset(FileFormat fileFormat, ProcessingState initialState)
在解析之前将解析器重置为初始状态。
|
void |
setEndTagSeen(boolean endTagSeen)
设置XML结束标记的标志。
|
void |
setFallback(ProcessingState fallback)
设置备用处理状态。
|
boolean |
wasEndTagSeen()
检查是否已看到XML结束标记。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
build, reset
protected AbstractMessageParser(String root, String formatVersionKey, Function<ParseToken,List<ParseToken>>[] filters)
root
- XML文件的根元素
formatVersionKey
- 格式版本的键
filters
- 要应用于解析标记的过滤器
public void setFallback(ProcessingState fallback)
如果预期状态无法解析标记,则使用备用处理状态。
fallback
- 如果预期状态无法工作,则使用的处理状态
protected void reset(FileFormat fileFormat, ProcessingState initialState)
fileFormat
- 准备解析的文件格式
initialState
- 初始处理状态
public void setEndTagSeen(boolean endTagSeen)
endTagSeen
- 如果为true,则已看到XML结束标记
public boolean wasEndTagSeen()
public ProcessingState getCurrent()
public FileFormat getFileFormat()
getFileFormat
在接口 MessageParser<T>
public T parseMessage(DataSource source)
parseMessage
在接口 MessageParser<T>
source
- 要解析的数据源
public String getFormatVersionKey()
getFormatVersionKey
在接口 MessageParser<T>
public Map<String,XmlTokenBuilder> getSpecialXmlElementsBuilders()
getSpecialXmlElementsBuilders
在接口 MessageParser<T>
public void anticipateNext(ProcessingState anticipated)
anticipated
- 预期的下一个处理状态
public void process(ParseToken token)
process
在接口 MessageParser<T>
token
- 要处理的标记
Copyright © 2002-2023 CS GROUP. All rights reserved.