diff -r ed1c9f64298a -r 5b9d4d8641ce trace/traceviewer/com.nokia.trace.eventrouter/src/com/nokia/trace/eventrouter/PropertyMap.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trace/traceviewer/com.nokia.trace.eventrouter/src/com/nokia/trace/eventrouter/PropertyMap.java Wed Jun 23 14:49:59 2010 +0300 @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + * Property Map class stores multiple string mappings + * + */ +package com.nokia.trace.eventrouter; + +import java.util.ArrayList; + +/** + * Property Map class stores multiple string mappings + * + */ +public class PropertyMap { + + /** + * ArrayList containing keys + */ + private ArrayList keys; + + /** + * ArrayList containing values + */ + private ArrayList values; + + /** + * Constructor + */ + public PropertyMap() { + keys = new ArrayList(); + values = new ArrayList(); + } + + /** + * Inserts string pair to the map + * + * @param key + * key to insert + * @param value + * value to insert + */ + public void put(String key, String value) { + keys.add(key); + values.add(value); + } + + /** + * Gets key from index + * + * @param index + * index + * @return key if index is valid, null otherwise + */ + public String getKey(int index) { + String key = null; + if (index >= 0 && index < keys.size()) { + key = keys.get(index); + } + return key; + } + + /** + * Gets value from index + * + * @param index + * index + * @return value if index is valid, null otherwise + */ + public String get(int index) { + String value = null; + if (index >= 0 && index < values.size()) { + value = values.get(index); + } + return value; + } + + /** + * Gets value with key. If there is more than one value with the same key, + * the first one found from the map is returned + * + * @param key + * key + * @return value if key found, null otherwise + */ + public String get(String key) { + String value = null; + for (int i = 0; i < keys.size(); i++) { + if (keys.get(i).equals(key)) { + value = values.get(i); + break; + } + } + return value; + } + + /** + * Returns the size of the map + * + * @return size of the map + */ + public int size() { + return keys.size(); + } + + /** + * Removes a String pair from the map with the key. If there is more than + * one occurrence, only the first one if removed + * + * @param key + * key to be removed + */ + public void remove(String key) { + for (int i = 0; i < keys.size(); i++) { + if (keys.get(i).equals(key)) { + keys.remove(i); + values.remove(i); + break; + } + } + } + +}