blob: 6ab2f4fa8346f87af7b2910d949b86732a994369 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2012 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.acceleo.profiler.provider;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.eclipse.acceleo.profiler.ProfileEntry;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EObject;
/**
* Specializes the ProfileEntryItemProvider implementation.
*
* @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
*/
public class ProfileEntryItemProviderSpec extends ProfileEntryItemProvider {
/**
* Constructor.
*
* @param adapterFactory
* the adapter factory
*/
public ProfileEntryItemProviderSpec(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.acceleo.profiler.provider.ProfileEntryItemProvider#getImage(java.lang.Object)
*/
@Override
public Object getImage(Object object) {
EObject monitored = ((ProfileEntry)object).getMonitored();
return ProfilerEditPlugin.LABEL_PROVIDER.getImage(monitored);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.acceleo.profiler.provider.ProfileEntryItemProvider#getText(java.lang.Object)
*/
@Override
public String getText(Object object) {
final ProfileEntry profileEntry = (ProfileEntry)object;
final EObject monitored = profileEntry.getMonitored();
final NumberFormat format = new DecimalFormat();
format.setMaximumIntegerDigits(3);
format.setMaximumFractionDigits(2);
return format.format(profileEntry.getPercentage()) + "% / " + profileEntry.getDuration() + "ms / " //$NON-NLS-1$ //$NON-NLS-2$
+ profileEntry.getCount() + " times [" + ProfilerEditPlugin.LABEL_PROVIDER.getText(monitored) //$NON-NLS-1$
+ "]"; //$NON-NLS-1$
}
}