sysperfana/memspyext/com.nokia.s60tools.memspy/src/com/nokia/s60tools/memspy/model/CategoryProfile.java
changeset 7 8e12a575a9b5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysperfana/memspyext/com.nokia.s60tools.memspy/src/com/nokia/s60tools/memspy/model/CategoryProfile.java	Wed Apr 21 20:01:08 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/ 
+package com.nokia.s60tools.memspy.model;
+
+import java.util.Iterator;
+import java.util.List;
+
+import com.nokia.s60tools.memspy.ui.dialogs.SWMTCategoryEntry;
+
+/**
+ * Class for one Category Profile
+ */
+public class CategoryProfile {
+
+	private String name;
+	
+	private int categories = 0;
+
+	/**
+	 * Create a new Category Profile
+	 * @param name Profile name
+	 */
+	public CategoryProfile(String name) {
+		this.setName(name);
+	}
+	
+	/**
+	 * 
+	 * @param name Profile name
+	 * @param categories Categories for profile
+	 */
+	public CategoryProfile(String name, int categories) {
+		this.categories = categories;
+		this.setName(name);
+	}	
+
+	/**
+	 * Get profile name
+	 * @return the name
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Set profile name
+	 * @param name the name to set
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	/**
+	 * Add one or more category to categories
+	 * @param categories the categories to set
+	 */
+	public void addCategory(int category) {
+		categories = categories & category;
+	}	
+
+	/**
+	 * Get categories
+	 * @return the categories
+	 */
+	public int getCategories() {
+		return categories;
+	}
+	
+	/**
+	 * Get all SWMT categories for this profile
+	 * @return the categories
+	 */
+	public List<SWMTCategoryEntry> getCategoryEntrys() {
+		
+		SWMTCategorys cat = SWMTCategorys.getInstance();
+		List<SWMTCategoryEntry> categoryEntries = cat.getCategoryEntries(getCategories());
+		
+		return categoryEntries;
+	}
+	
+	/**
+	 * Get names of the Categories added to this profile.
+	 * @return list of Category names
+	 */
+	public String [] getCategoryEntryNames(){
+		List<SWMTCategoryEntry> categoryEntrys = getCategoryEntrys();
+		if(categoryEntrys.isEmpty()){
+			return new String[0];
+		}
+		String[] names = new String[categoryEntrys.size()];
+		int i = 0;
+		for (Iterator<SWMTCategoryEntry> iterator = categoryEntrys.iterator(); iterator.hasNext();) {
+			SWMTCategoryEntry entry = (SWMTCategoryEntry) iterator
+					.next();
+			names[i] = entry.getCategoryName();
+			i++;
+		}
+		return names;
+	}
+
+}