1 7 package fr.jayasoft.ivy.extendable; 8 9 import java.util.Arrays ; 10 import java.util.Collection ; 11 import java.util.HashMap ; 12 import java.util.Iterator ; 13 import java.util.Map ; 14 15 import org.xml.sax.Attributes ; 16 17 18 public class ExtendableItemHelper { 19 20 public static Map getExtraAttributes(Attributes attributes, String prefix) { 21 Map ret = new HashMap (); 22 for (int i=0; i<attributes.getLength(); i++) { 23 if (attributes.getQName(i).startsWith(prefix)) { 24 ret.put(attributes.getQName(i).substring(prefix.length()), attributes.getValue(i)); 25 } 26 } 27 return ret; 28 } 29 30 public static Map getExtraAttributes(Attributes attributes, String [] ignoredAttNames) { 31 Map ret = new HashMap (); 32 Collection ignored = Arrays.asList(ignoredAttNames); 33 for (int i=0; i<attributes.getLength(); i++) { 34 if (!ignored.contains(attributes.getQName(i))) { 35 ret.put(attributes.getQName(i), attributes.getValue(i)); 36 } 37 } 38 return ret; 39 } 40 41 public static void fillExtraAttributes(DefaultExtendableItem item, Attributes attributes, String [] ignoredAttNames) { 42 Map att = getExtraAttributes(attributes, ignoredAttNames); 43 for (Iterator iter = att.keySet().iterator(); iter.hasNext();) { 44 String attName = (String )iter.next(); 45 String attValue = (String )att.get(attName); 46 item.setExtraAttribute(attName, attValue); 47 } 48 } 49 50 } 51 | Popular Tags |