Class DefaultTagProcessorFactory

  • All Implemented Interfaces:
    TagProcessorFactory

    public class DefaultTagProcessorFactory
    extends java.lang.Object
    implements TagProcessorFactory
    A Default implementation of the TagProcessorFactory that uses a map to store the TagProcessors. Within the same ClassLoaders this Processor can also load the processors when they are only stored with there fully qualified class names.
    Note: this implementation does not use namespaces (yet)!
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addProcessor​(TagProcessor processor, java.lang.String... tags)
      Add a tag processor and the tags it maps to.
      void addProcessor​(java.lang.String tag, TagProcessor processor)
      Add a loaded TagProcessor.
      void addProcessor​(java.lang.String tag, java.lang.String className)
      Add an unloaded TagProcessor.
      void addProcessor​(java.lang.String className, java.lang.String... tags)
      Add one tag processor that handles multiple tags.
      TagProcessor getProcessor​(java.lang.String tag, java.lang.String nameSpace)
      Looks up a TagProcessor for the given tag.
      protected TagProcessor load​(java.lang.String className)
      Tries to load given processor with Class.forName
      protected TagProcessor load​(java.lang.String className, java.lang.ClassLoader loader)
      Tries to load given processor with Class.forName
      void removeProcessor​(java.lang.String tag)
      Removes a TagProcessor for a specific tag.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultTagProcessorFactory

        public DefaultTagProcessorFactory()
    • Method Detail

      • load

        protected TagProcessor load​(java.lang.String className)
                             throws NoTagProcessorException
        Tries to load given processor with Class.forName
        Parameters:
        className - fully qualified className
        Returns:
        the loaded tag processor
        Throws:
        NoTagProcessorException - if TagProcessor could not be loaded.
      • load

        protected TagProcessor load​(java.lang.String className,
                                    java.lang.ClassLoader loader)
                             throws NoTagProcessorException
        Tries to load given processor with Class.forName
        Parameters:
        className - fully qualified className
        loader - the classloader to use
        Returns:
        the loaded tag processor
        Throws:
        NoTagProcessorException - if TagProcessor could not be loaded.
      • addProcessor

        public void addProcessor​(java.lang.String tag,
                                 java.lang.String className)
        Add an unloaded TagProcessor.
        Parameters:
        tag - the tag the processor with the given className maps to
        className - the fully qualified class name (class has to be found on classpath, will be loaded with Class.forName()
      • addProcessor

        public void addProcessor​(java.lang.String tag,
                                 TagProcessor processor)
        Add a loaded TagProcessor.
        Parameters:
        tag - the tag the processor with the given className maps to
        processor - the TagProcessor
      • addProcessor

        public void addProcessor​(TagProcessor processor,
                                 java.lang.String... tags)
        Description copied from interface: TagProcessorFactory
        Add a tag processor and the tags it maps to.
        Specified by:
        addProcessor in interface TagProcessorFactory
        Parameters:
        processor - the TagProcessor.
        tags - tags this processor maps to.
      • addProcessor

        public void addProcessor​(java.lang.String className,
                                 java.lang.String... tags)
        Add one tag processor that handles multiple tags.
        Parameters:
        className - the fully qualified class name (class has to be found on classpath)
        tags - list of tags this processor maps to.
      • removeProcessor

        public void removeProcessor​(java.lang.String tag)
        Description copied from interface: TagProcessorFactory
        Removes a TagProcessor for a specific tag.
        Specified by:
        removeProcessor in interface TagProcessorFactory
        Parameters:
        tag - the tag to remove the processor for.