sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/model/ProfiledFunction.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Thu, 11 Feb 2010 15:32:31 +0200
changeset 2 b9ab3b238396
child 5 844b047e260d
permissions -rw-r--r--
Initial version of Performance Investigator under EPL

/*
 * 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 the License "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.carbide.cpp.internal.pi.model;

import java.util.Vector;

public class ProfiledFunction extends ProfiledGeneric
{
	long   functionAddress;
    String functionBinaryName;
//	String functionBinaryPathName;
    Vector threadIds;
    
    public ProfiledFunction()
    {
        super();
        this.threadIds = new Vector();
        //setEnabled(false);
    }
    /**
     * @return Returns the functionAddress.
     */
    public long getFunctionAddress()
    {
        return functionAddress;
    }

    /**
     * @param functionAddress The functionAddress to set.
     */
    public void setFunctionAddress(long functionAddress)
    {
        this.functionAddress = functionAddress;
    }

    /**
     * @return Returns the functionBinaryName.
     */
    public String getFunctionBinaryName()
    {
        //return this.nameString;
        return functionBinaryName;
    }

    /**
     * @param functionBinaryName The functionBinaryName to set.
     */
    public void setFunctionBinaryName(String functionBinaryName)
    {
        //this.nameString = functionBinaryName;
        this.functionBinaryName = functionBinaryName;
    }
//
//    public String getFunctionBinaryPathName()
//    {
//        //return this.nameString;
//        return functionBinaryPathName;
//    }
//
//    public void setFunctionBinaryPathName(String functionBinaryPathName)
//    {
//        //this.nameString = functionBinaryName;
//        this.functionBinaryPathName = functionBinaryPathName;
//    }
    
    public void addThreadId(int id)
    {
    	Integer integer = new Integer(id);
    	if (!this.threadIds.contains(integer))
    	{
    		this.threadIds.add(integer);
    	}
    }
    
    public boolean containsThreadId(int id)
    {
    	return this.threadIds.contains(new Integer(id));
    }

    public boolean equals(Object anObject)
    {
        if (anObject == null)
            return false;
        if (!(anObject instanceof ProfiledFunction))
            return false;
        ProfiledFunction pfTmp = (ProfiledFunction)anObject;
        if (this.getNameString().equals(pfTmp.getNameString()))
            return true;
        else
            return false;
    }
    
    public int hashCode()
    {
    	return this.getNameString().hashCode();
    }
    
    public String toString(int graphIndex)
    {
    	if (this.isEnabled(graphIndex))
    	{
    		return "true  " + this.getAverageLoadValueString(graphIndex) + getNameString(); //$NON-NLS-1$
	  	}
		else
		{
	      	return "false " + this.getAverageLoadValueString(graphIndex) + getNameString(); //$NON-NLS-1$
		}
    }   
}