001 package com.oxygenxml.validate.nvdl; 002 003 import java.util.ArrayList; 004 import java.util.Hashtable; 005 import java.util.Iterator; 006 import java.util.List; 007 import java.util.Stack; 008 009 class Triggers { 010 011 /** 012 * A list with defined triggers. 013 */ 014 private final List triggers = new ArrayList(); 015 016 /** 017 * Adds a trigger for a namespace and a local name. 018 * @param ns The namespace. 019 * @param nameList The list of local names. 020 */ 021 public String addTrigger(String ns, String nameList) { 022 Trigger t = new Trigger(ns, nameList); 023 triggers.add(t); 024 return t.errors; 025 } 026 027 /** 028 * Indicates if we have a trigger on a namespace and local name. 029 * @param ns The namespace. 030 * @param name The local name. 031 * @return true if we have a trigger set, otherwise false. 032 */ 033 public boolean trigger(String namespace, String name, String parent) { 034 // iterate triggers 035 Iterator i = triggers.iterator(); 036 while (i.hasNext()) { 037 Trigger t = (Trigger)i.next(); 038 if (t.trigger(namespace, name, parent)) { 039 return true; 040 } 041 } 042 return false; 043 } 044 045 }