Package de.pdark.decentxml
Class EntityResolver
- java.lang.Object
-
- de.pdark.decentxml.EntityResolver
-
- Direct Known Subclasses:
DocTypeEntityResolver,HTMLEntityResolver
public class EntityResolver extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringAMP_ESCAPEEscape for "&" (ampersand)static java.lang.StringAPOS_ESCAPEEscape for "'" (single quote or apostrophe)private CharValidatorcharValidatorstatic java.lang.StringGT_ESCAPEEscape for ">" (greater than)static java.lang.StringLT_ESCAPEEscape for "<" (less than)private EntityResolverparentstatic java.lang.StringQUOT_ESCAPEEscape for '"' (double quote)protected java.util.Map<java.lang.String,java.lang.String>resolveMap
-
Constructor Summary
Constructors Constructor Description EntityResolver()EntityResolver(EntityResolver parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.String name, java.lang.String replacementText)Add a new entityvoidclear()Remove all definitions from the map except the standard XML entities (<, >, ...)java.lang.Stringencode(java.lang.String input)Replace text in a string with entity referencesjava.lang.Stringexpand(java.lang.String entity)Expand an entity reference.intexpandNumericEntity(java.lang.String entity)Returns the character value of a numeric entity.CharValidatorgetCharValidator()EntityResolvergetParent()booleanisDefined(java.lang.String name)Check if an entity is defined.java.lang.Stringresolve(java.lang.String name)Resolve an entity reference.EntityResolversetCharValidator(CharValidator charValidator)protected java.lang.StringstripName(java.lang.String name)voidvalidateEntity(java.lang.String entity)
-
-
-
Field Detail
-
AMP_ESCAPE
public static final java.lang.String AMP_ESCAPE
Escape for "&" (ampersand)- See Also:
- Constant Field Values
-
LT_ESCAPE
public static final java.lang.String LT_ESCAPE
Escape for "<" (less than)- See Also:
- Constant Field Values
-
GT_ESCAPE
public static final java.lang.String GT_ESCAPE
Escape for ">" (greater than)- See Also:
- Constant Field Values
-
QUOT_ESCAPE
public static final java.lang.String QUOT_ESCAPE
Escape for '"' (double quote)- See Also:
- Constant Field Values
-
APOS_ESCAPE
public static final java.lang.String APOS_ESCAPE
Escape for "'" (single quote or apostrophe)- See Also:
- Constant Field Values
-
parent
private EntityResolver parent
-
resolveMap
protected java.util.Map<java.lang.String,java.lang.String> resolveMap
-
charValidator
private CharValidator charValidator
-
-
Constructor Detail
-
EntityResolver
public EntityResolver()
-
EntityResolver
public EntityResolver(EntityResolver parent)
-
-
Method Detail
-
getParent
public EntityResolver getParent()
-
getCharValidator
public CharValidator getCharValidator()
-
setCharValidator
public EntityResolver setCharValidator(CharValidator charValidator)
-
clear
public void clear()
Remove all definitions from the map except the standard XML entities (<, >, ...)
-
add
public void add(java.lang.String name, java.lang.String replacementText)Add a new entity- Parameters:
name- for example "lt"replacementText- for example "<"
-
isDefined
public boolean isDefined(java.lang.String name)
Check if an entity is defined.- Parameters:
name- The name of an entity ("lt" or "<").- Returns:
- the value of the entity or
null
-
resolve
public java.lang.String resolve(java.lang.String name)
Resolve an entity reference.This returns the text stored for this entity reference. No recursive expansion takes place.
- Parameters:
name- The name of an entity ("lt" or "<").- Returns:
- the value of the entity or
null
-
stripName
protected java.lang.String stripName(java.lang.String name)
-
expand
public java.lang.String expand(java.lang.String entity)
Expand an entity reference. If the reference is unknown, the method willnull.Valid inputs are entity names or entity references (i.e. it will work with "lt" and "<")
-
encode
public java.lang.String encode(java.lang.String input)
Replace text in a string with entity references
-
expandNumericEntity
public int expandNumericEntity(java.lang.String entity)
Returns the character value of a numeric entity.NOTE: This method returns a "code point", not a character. One "code point" can map to one or two Java characters!
- Throws:
java.lang.IllegalArgumentException- if the numeric entity has the wrong format, or the value is too low or high.
-
validateEntity
public void validateEntity(java.lang.String entity)
-
-