Class EntityResolver

java.lang.Object
de.pdark.decentxml.EntityResolver
Direct Known Subclasses:
DocTypeEntityResolver, HTMLEntityResolver

public class EntityResolver extends Object
  • Field Details

  • Constructor Details

    • EntityResolver

      public EntityResolver()
    • EntityResolver

      public EntityResolver(EntityResolver parent)
  • Method Details

    • 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(String name, String replacementText)
      Add a new entity
      Parameters:
      name - for example "lt"
      replacementText - for example "invalid input: '<'"
    • isDefined

      public boolean isDefined(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 String resolve(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 String stripName(String name)
    • expand

      public String expand(String entity)
      Expand an entity reference. If the reference is unknown, the method will null.

      Valid inputs are entity names or entity references (i.e. it will work with "lt" and "<")

    • encode

      public String encode(String input)
      Replace text in a string with entity references
    • expandNumericEntity

      public int expandNumericEntity(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:
      IllegalArgumentException - if the numeric entity has the wrong format, or the value is too low or high.
    • validateEntity

      public void validateEntity(String entity)