package plan9.lib; // // keys // // via Limbo version by Vita Nuova, MIT Licence // Java version Copyright © 2012 Coraid Inc // import java.lang.*; import java.util.ArrayList; import java.util.Iterator; import java.util.Collections; import plan9.lib.Strings; import plan9.lib.Attr; import plan9.lib.Attrs; public class Keys { ArrayList keys; public Keys(){ keys = new ArrayList(); } public Key findkey(Attrs attrs){ for(Key k : keys){ if(k != null && k.matchattrs(attrs)) return k; } return null; } public ArrayList findkeys(Attrs attrs){ ArrayList kl = new ArrayList(); for(Key k : keys){ if(k != null && k.matchattrs(attrs)) kl.add(k); } if(kl.size() == 0) return null; return kl; } public int delkey(Attrs attrs){ int nk = 0; for(Iterator i = keys.iterator(); i.hasNext();){ Key k = i.next(); if(k != null && k.matchattrs(attrs)){ nk++; i.remove(); } } return nk; } public void addkey(Key k){ keys.add(k); // unclear whether this should eliminate existing matching keys } public Iterator iterator(){ return keys.iterator(); } };