You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sk...@apache.org on 2004/03/28 08:16:17 UTC

cvs commit: jakarta-commons/digester/src/java/org/apache/commons/digester/plugins PluginRules.java

skitching    2004/03/27 22:16:17

  Modified:    digester/src/java/org/apache/commons/digester/plugins Tag:
                        DIGESTER_PLUGIN_REFACTORING_BRANCH PluginRules.java
  Log:
  * the "root" PluginRules object for a Digester now creates an instance of
    PerDigesterResources, others get a ref to a pre-existing one
  * added getter/setter methods to acecss data on the underlying
    PerDigesterResources object. Some of these methods were previously
    on the PluginCreateRules class.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.12.2.1  +60 -7     jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginRules.java
  
  Index: PluginRules.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginRules.java,v
  retrieving revision 1.12
  retrieving revision 1.12.2.1
  diff -u -r1.12 -r1.12.2.1
  --- PluginRules.java	23 Mar 2004 07:11:00 -0000	1.12
  +++ PluginRules.java	28 Mar 2004 06:16:17 -0000	1.12.2.1
  @@ -82,6 +82,12 @@
        */
       private PluginRules parent = null;
       
  +    /**
  +     * A reference to the object that holds all data which should only
  +     * exist once per digester instance.
  +     */
  +    private PerDigesterResources perDigesterResources = null;
  +    
       // ------------------------------------------------------------- Constructor
       
       /**
  @@ -90,8 +96,7 @@
        * object before parsing starts.
        */
       public PluginRules() {
  -        decoratedRules = new RulesBase();
  -        pluginManager = new PluginManager();
  +        this(new RulesBase());
       }
   
       /**
  @@ -100,7 +105,9 @@
        */
       public PluginRules(Rules decoratedRules) {
           this.decoratedRules = decoratedRules;
  -        pluginManager = new PluginManager();
  +
  +        perDigesterResources = new PerDigesterResources();
  +        pluginManager = new PluginManager(perDigesterResources);
       }
   
       /**
  @@ -117,7 +124,8 @@
           // method on this object will be called.
           
           decoratedRules = new RulesBase();
  -        pluginManager = new PluginManager(parent.pluginManager);
  +        perDigesterResources = parent.perDigesterResources;
  +        pluginManager = new PluginManager(perDigesterResources, parent.pluginManager);
           
           this.mountPoint = mountPoint;
           this.parent = parent;
  @@ -177,7 +185,21 @@
       public PluginManager getPluginManager() {
           return pluginManager;
       }
  -
  +    
  +    /**
  +     * See {@link PerDigesterResources#getRuleFinders}.
  +     */
  +    public List getRuleFinders() {
  +        return perDigesterResources.getRuleFinders();
  +    }
  +    
  +    /**
  +     * See {@link PerDigesterResources#setRuleFinders}.
  +     */
  +    public void setRuleFinders(List ruleFinders) {
  +        perDigesterResources.setRuleFinders(ruleFinders);
  +    }
  +    
       // --------------------------------------------------------- Public Methods
   
       /**
  @@ -329,11 +351,42 @@
               // even though this object may hold some rules matching
               // this same path. See PluginCreateRule's begin, body and end
               // methods for the reason.
  -        } 
  -        else {
  +        } else {
               matches = decoratedRules.match(namespaceURI, path); 
           }
   
           return matches;
  +    }
  +
  +    /** See {@link PerDigesterResources#setPluginClassAttribute}. */
  +    public void setPluginClassAttribute(String namespaceUri, 
  +                                        String attrName) {
  +        perDigesterResources.setPluginClassAttribute(namespaceUri, attrName);
  +    }
  +
  +    /** See {@link PerDigesterResources#setPluginIdAttribute}. */
  +    public void setPluginIdAttribute(String namespaceUri, 
  +                                     String attrName) {
  +        perDigesterResources.setPluginIdAttribute(namespaceUri, attrName);
  +    }
  +    
  +    /** See {@link PerDigesterResources#getPluginClassAttrNs}. */
  +    public String getPluginClassAttrNs() {
  +        return perDigesterResources.getPluginClassAttrNs();
  +    }
  +    
  +    /** See {@link PerDigesterResources#getPluginClassAttr}. */
  +    public String getPluginClassAttr() {
  +        return perDigesterResources.getPluginClassAttr();
  +    }
  +    
  +    /** See {@link PerDigesterResources#getPluginIdAttrNs}. */
  +    public String getPluginIdAttrNs() {
  +        return perDigesterResources.getPluginIdAttrNs();
  +    }
  +    
  +    /** See {@link PerDigesterResources#getPluginIdAttr}. */
  +    public String getPluginIdAttr() {
  +        return perDigesterResources.getPluginIdAttr();
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org