Package org.jivesoftware.openfire.nio
Class XMLLightweightParser
java.lang.Object
org.jivesoftware.openfire.nio.XMLLightweightParser
This is a Light-Weight XML Parser.
It read data from a channel and collect data until data are available in
the channel.
When a message is complete you can retrieve messages invoking the method
getMsgs() and you can invoke the method areThereMsgs() to know if at least
a message is presents.
- Author:
- Daniele Piras, Gaston Dombiak
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringBuilderprotected static char[]protected static char[]protected intprotected StringBuilderprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected booleanprotected booleanprotected static final intprotected static final intprotected intprotected intprotected static final intprotected intprotected static final intstatic final SystemProperty<Long> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected voidString[]getMsgs()static booleanhasIllegalCharacterReferences(String string) This method verifies if the provided argument contains at least one numeric character reference (CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';) for which the decimal or hexidecimal character value refers to an invalid XML 1.0 character.protected voidstatic booleanisLegalXmlCharacter(int value) Verifies if the codepoint value represents a valid character as defined in paragraph 2.2 of "Extensible Markup Language (XML) 1.0 (Fifth Edition)"booleanvoidread(io.netty.buffer.ByteBuf in)
-
Field Details
-
XMPP_PARSER_BUFFER_SIZE
-
CDATA_START
protected static char[] CDATA_START -
CDATA_END
protected static char[] CDATA_END -
buffer
-
INIT
protected static final int INIT- See Also:
-
HEAD
protected static final int HEAD- See Also:
-
INSIDE
protected static final int INSIDE- See Also:
-
PRETAIL
protected static final int PRETAIL- See Also:
-
TAIL
protected static final int TAIL- See Also:
-
VERIFY_CLOSE_TAG
protected static final int VERIFY_CLOSE_TAG- See Also:
-
INSIDE_PARAM_VALUE
protected static final int INSIDE_PARAM_VALUE- See Also:
-
INSIDE_CDATA
protected static final int INSIDE_CDATA- See Also:
-
OUTSIDE
protected static final int OUTSIDE- See Also:
-
status
protected int status -
cdataOffset
protected int cdataOffset -
tailCount
protected int tailCount -
startLastMsg
protected int startLastMsg -
insideRootTag
protected boolean insideRootTag -
head
-
msgs
-
insideChildrenTag
protected boolean insideChildrenTag
-
-
Constructor Details
-
XMLLightweightParser
public XMLLightweightParser()
-
-
Method Details
-
areThereMsgs
public boolean areThereMsgs() -
getMsgs
-
invalidateBuffer
protected void invalidateBuffer() -
foundMsg
- Throws:
XMLNotWellFormedException
-
isMaxBufferSizeExceeded
public boolean isMaxBufferSizeExceeded() -
read
- Throws:
Exception
-
hasIllegalCharacterReferences
This method verifies if the provided argument contains at least one numeric character reference (CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';) for which the decimal or hexidecimal character value refers to an invalid XML 1.0 character.- Parameters:
string- The input string- Returns:
trueif the input string contains an invalid numeric character reference,falseotherwise.- See Also:
-
isLegalXmlCharacter
public static boolean isLegalXmlCharacter(int value) Verifies if the codepoint value represents a valid character as defined in paragraph 2.2 of "Extensible Markup Language (XML) 1.0 (Fifth Edition)"- Parameters:
value- the codepoint- Returns:
trueif the codepoint is a valid character per XML 1.0 definition,falseotherwise.- See Also:
-