/*******************************************************************************
* Copyright (c) 2010-2013, Embraer S.A., Budapest University of Technology and Economics
* 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:
* Abel Hegedus - initial API and implementation
*******************************************************************************/
package hu.bme.mit.massif.common.tracer;
import hu.bme.mit.massif.common.NamingUtil;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
public abstract class AbstractMassifTracer implements IMassifTracer {
protected final MassifTracerOptions option;
protected boolean tracingEnabled = false;
public AbstractMassifTracer(MassifTracerOptions option) {
this.option = option;
}
@Override
public MassifTracerOptions getOption() {
return option;
}
@Override
public boolean isTracingEnabled() {
return tracingEnabled;
}
@Override
public void setTracingEnabled(boolean tracingEnabled) {
this.tracingEnabled = tracingEnabled;
}
protected List<Object> transformNameList(Object... formatObjects) {
List<Object> namelist = Lists.transform(Lists.newArrayList(formatObjects), new Function<Object, Object>() {
@Override
public Object apply(Object input) {
if (input instanceof EObject) {
return NamingUtil.getGlobalNameOfNamedElement((EObject) input);
}
return input;
}
});
return namelist;
}
}