summaryrefslogtreecommitdiff
path: root/xmlsecurity/tools/uno/AttributeListHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsecurity/tools/uno/AttributeListHelper.java')
-rw-r--r--xmlsecurity/tools/uno/AttributeListHelper.java148
1 files changed, 148 insertions, 0 deletions
diff --git a/xmlsecurity/tools/uno/AttributeListHelper.java b/xmlsecurity/tools/uno/AttributeListHelper.java
new file mode 100644
index 000000000000..c95067bcecb6
--- /dev/null
+++ b/xmlsecurity/tools/uno/AttributeListHelper.java
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package com.sun.star.xml.security.uno;
+
+import java.util.Vector;
+import com.sun.star.xml.sax.XAttributeList;
+
+/**
+ * Class to construct an attribute list, and provide a XAttributeList
+ * interface.
+ *
+ * @author Michael Mi
+ * @version %I%, %G%
+ */
+public class AttributeListHelper implements com.sun.star.xml.sax.XAttributeList
+{
+ private Vector m_AttributeList;
+
+ public AttributeListHelper()
+ {
+ m_AttributeList = new Vector();
+ }
+
+ public void clear()
+ {
+ m_AttributeList.removeAllElements();
+ }
+
+ public void setAttribute(String name, String type, String value)
+ {
+ int nLength = m_AttributeList.size();
+ boolean bFound = false;
+
+ for (int i=0; i<nLength; ++i)
+ {
+ if (getNameByIndex((short)i).equals(name))
+ {
+ Vector attribute = (Vector)m_AttributeList.get(i);
+ attribute.setElementAt(type,1);
+ attribute.setElementAt(value,2);
+ bFound = true;
+ break;
+ }
+ }
+
+ if (!bFound)
+ {
+ Vector attribute = new Vector();
+ attribute.addElement(name);
+ attribute.addElement(type);
+ attribute.addElement(value);
+ m_AttributeList.addElement(attribute);
+ }
+ }
+
+ public String getAttributeItem(short index, int itemIndex)
+ {
+ String item = null;
+
+ if (index>=0 && index<getLength())
+ {
+ Vector attribute = (Vector)m_AttributeList.get(index);
+ item = (String)(attribute.get(itemIndex));
+ }
+
+ return item;
+ }
+
+ /* XAttributeList */
+ public short getLength()
+ {
+ return (short)m_AttributeList.size();
+ }
+
+ public String getNameByIndex(short i)
+ {
+ return getAttributeItem(i, 0);
+ }
+
+ public String getTypeByIndex(short i)
+ {
+ return getAttributeItem(i, 1);
+ }
+
+ public String getValueByIndex(short i)
+ {
+ return getAttributeItem(i, 2);
+ }
+
+ public String getTypeByName(String aName)
+ {
+ int nLength = m_AttributeList.size();
+ String type = null;
+
+ for (int i=0; i<nLength; ++i)
+ {
+ if (getNameByIndex((short)i).equals(aName))
+ {
+ type = getTypeByIndex((short)i);
+ break;
+ }
+ }
+
+ return type;
+ }
+
+ public String getValueByName(String aName)
+ {
+ int nLength = m_AttributeList.size();
+ String value = null;
+
+ for (int i=0; i<nLength; ++i)
+ {
+ if (getNameByIndex((short)i).equals(aName))
+ {
+ value = getValueByIndex((short)i);
+ break;
+ }
+ }
+ return value;
+ }
+}
+