merged tag ooo/OOO330_m14
[LibreOffice.git] / xmlsecurity / tools / uno / AttributeListHelper.java
blobc95067bcecb6386532f3643202b327b0864dad40
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 package com.sun.star.xml.security.uno;
30 import java.util.Vector;
31 import com.sun.star.xml.sax.XAttributeList;
33 /**
34 * Class to construct an attribute list, and provide a XAttributeList
35 * interface.
37 * @author Michael Mi
38 * @version %I%, %G%
40 public class AttributeListHelper implements com.sun.star.xml.sax.XAttributeList
42 private Vector m_AttributeList;
44 public AttributeListHelper()
46 m_AttributeList = new Vector();
49 public void clear()
51 m_AttributeList.removeAllElements();
54 public void setAttribute(String name, String type, String value)
56 int nLength = m_AttributeList.size();
57 boolean bFound = false;
59 for (int i=0; i<nLength; ++i)
61 if (getNameByIndex((short)i).equals(name))
63 Vector attribute = (Vector)m_AttributeList.get(i);
64 attribute.setElementAt(type,1);
65 attribute.setElementAt(value,2);
66 bFound = true;
67 break;
71 if (!bFound)
73 Vector attribute = new Vector();
74 attribute.addElement(name);
75 attribute.addElement(type);
76 attribute.addElement(value);
77 m_AttributeList.addElement(attribute);
81 public String getAttributeItem(short index, int itemIndex)
83 String item = null;
85 if (index>=0 && index<getLength())
87 Vector attribute = (Vector)m_AttributeList.get(index);
88 item = (String)(attribute.get(itemIndex));
91 return item;
94 /* XAttributeList */
95 public short getLength()
97 return (short)m_AttributeList.size();
100 public String getNameByIndex(short i)
102 return getAttributeItem(i, 0);
105 public String getTypeByIndex(short i)
107 return getAttributeItem(i, 1);
110 public String getValueByIndex(short i)
112 return getAttributeItem(i, 2);
115 public String getTypeByName(String aName)
117 int nLength = m_AttributeList.size();
118 String type = null;
120 for (int i=0; i<nLength; ++i)
122 if (getNameByIndex((short)i).equals(aName))
124 type = getTypeByIndex((short)i);
125 break;
129 return type;
132 public String getValueByName(String aName)
134 int nLength = m_AttributeList.size();
135 String value = null;
137 for (int i=0; i<nLength; ++i)
139 if (getNameByIndex((short)i).equals(aName))
141 value = getValueByIndex((short)i);
142 break;
145 return value;