KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > extendable > ExtendableItemHelper


1 /*
2  * This file is subject to the licence found in LICENCE.TXT in the root directory of the project.
3  * Copyright Jayasoft 2005 - All rights reserved
4  *
5  * #SNAPSHOT#
6  */

7 package fr.jayasoft.ivy.extendable;
8
9 import java.util.Arrays JavaDoc;
10 import java.util.Collection JavaDoc;
11 import java.util.HashMap JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.Map JavaDoc;
14
15 import org.xml.sax.Attributes JavaDoc;
16
17
18 public class ExtendableItemHelper {
19
20     public static Map JavaDoc getExtraAttributes(Attributes JavaDoc attributes, String JavaDoc prefix) {
21         Map JavaDoc ret = new HashMap JavaDoc();
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 JavaDoc getExtraAttributes(Attributes JavaDoc attributes, String JavaDoc[] ignoredAttNames) {
31         Map JavaDoc ret = new HashMap JavaDoc();
32         Collection JavaDoc 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 JavaDoc attributes, String JavaDoc[] ignoredAttNames) {
42         Map JavaDoc att = getExtraAttributes(attributes, ignoredAttNames);
43         for (Iterator JavaDoc iter = att.keySet().iterator(); iter.hasNext();) {
44             String JavaDoc attName = (String JavaDoc)iter.next();
45             String JavaDoc attValue = (String JavaDoc)att.get(attName);
46             item.setExtraAttribute(attName, attValue);
47         }
48     }
49
50 }
51
Popular Tags