/** * Register a set of Rule instances defined in a RuleSet. * * @param ruleSet The RuleSet instance to configure from */ public void addRuleSet(RuleSet ruleSet) { String oldNamespaceURI = getRuleNamespaceURI(); String newNamespaceURI = ruleSet.getNamespaceURI(); if (log.isDebugEnabled()) { if (newNamespaceURI == null) { log.debug("addRuleSet() with no namespace URI"); } else { log.debug("addRuleSet() with namespace URI " + newNamespaceURI); } } setRuleNamespaceURI(newNamespaceURI); ruleSet.addRuleInstances(this); setRuleNamespaceURI(oldNamespaceURI); }
/** * Add rules to an already created Digester instance, analyzing the digester * annotations in the target class. * * @param target the class has to be analyzed. * @param digester the Digester instance reference. */ public void addRules(final Class<?> target, final Digester digester) { RuleSet ruleSet = getRuleSet(target); ruleSet.addRuleInstances(digester); }
/** * <p>Return the <code>Digester</code> instance to be used for * parsing, creating one if necessary.</p> * @return A Digester instance. */ public Digester getDigester() { if (digester == null) { digester = new Digester(); RuleSet ruleSet = getRuleSet(); digester.setNamespaceAware(ruleSet.getNamespaceURI() != null); digester.setUseContextClassLoader(getUseContextClassLoader()); digester.setValidating(false); digester.addRuleSet(ruleSet); } return (digester); }
/** * <p>Return a fully configured <code>Digester</code> instance.</p> */ private Digester digester() { // Return any previously created instance if (digester != null) { return digester; } // Create and configure a new Digester instance digester = new Digester(); digester.setNamespaceAware(false); digester.setUseContextClassLoader(true); digester.setValidating(isValidating()); // Register our local copy of DTDs we recognize for (int i = 0; i < REGISTRATIONS.length; i += 2) { URL url = this.getClass().getResource(REGISTRATIONS[i + 1]); digester.register(REGISTRATIONS[i], url.toString()); } // Configure processing rules RuleSet ruleSet = null; ruleSet = new ManagedBeansRuleSet(); ruleSet.addRuleInstances(digester); // Return the configured instance return digester; }
/** * Register a set of Rule instances defined in a RuleSet. * * @param ruleSet The RuleSet instance to configure from */ public void addRuleSet(RuleSet ruleSet) { String oldNamespaceURI = getRuleNamespaceURI(); String newNamespaceURI = ruleSet.getNamespaceURI(); if (log.isDebugEnabled()) { if (newNamespaceURI == null) { log.debug("addRuleSet() with no namespace URI"); } else { log.debug("addRuleSet() with namespace URI " + newNamespaceURI); } } setRuleNamespaceURI(newNamespaceURI); ruleSet.addRuleInstances(this); setRuleNamespaceURI(oldNamespaceURI); }