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 }