diff -r 14dc2103a631 -r ed1c9f64298a trace/tracebuilder/com.nokia.tracebuilder/src/com/nokia/tracebuilder/engine/TraceLocationProperties.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trace/tracebuilder/com.nokia.tracebuilder/src/com/nokia/tracebuilder/engine/TraceLocationProperties.java Wed Jun 23 14:35:40 2010 +0300 @@ -0,0 +1,167 @@ +/* +* Copyright (c) 2007 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: +* +* Optional properties for a trace location +* +*/ +package com.nokia.tracebuilder.engine; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import com.nokia.tracebuilder.engine.source.SourceLocationRule; +import com.nokia.tracebuilder.engine.source.TraceFormattingRule; + +/** + * Optional properties for a trace location + * + */ +public class TraceLocationProperties { + + /** + * Formatting rule for the location + */ + private TraceFormattingRule formatRule; + + /** + * Location rule for the location + */ + private SourceLocationRule locationRule; + + /** + * Tags to be added to source as parameters instead of parameter name + */ + private ArrayList parameterTags; + + /** + * View reference for quick view updates + */ + private Object viewReference; + + /** + * Event view reference for quick event view updates + */ + private Object eventViewReference; + + /** + * Gets the location rule + * + * @return the location rule + */ + public SourceLocationRule getLocationRule() { + return locationRule; + } + + /** + * Sets a location rule for the location. The rule overrides the default + * location rule provided by the trace that owns the location + * + * @param rule + * the location formatting rule + */ + public void setLocationRule(SourceLocationRule rule) { + this.locationRule = rule; + } + + /** + * Gets the formatting rule + * + * @return the formatting rule + */ + public TraceFormattingRule getFormatRule() { + return formatRule; + } + + /** + * Sets a formatting rule for the location. The formatting rule overrides + * the formatting rule provided by the trace that owns the location + * + * @param rule + * the location formatting rule + */ + public void setFormatRule(TraceFormattingRule rule) { + this.formatRule = rule; + } + + /** + * Gets the parameter tags for this location. This works based on parameter + * index + * + * @return the list of parameter tags for the location + */ + public Iterator getParameterTags() { + List list; + if (parameterTags != null) { + list = parameterTags; + } else { + list = Collections.emptyList(); + } + return list.iterator(); + } + + /** + * Adds a new parameter tag to this location + * + * @param tag + * the tag to be added + */ + public void addParameterTag(String tag) { + if (parameterTags == null) { + parameterTags = new ArrayList(); + } + parameterTags.add(tag); + } + + /** + * Sets the view reference + * + * @param viewReference + * the view reference + */ + public void setViewReference(Object viewReference) { + this.viewReference = viewReference; + } + + /** + * Gets the view reference of the location + * + * @return the view reference + */ + public Object getViewReference() { + return viewReference; + } + + /** + * Sets the event view reference + * + * @param eventViewReference + * the event view reference + */ + public void setEventViewReference(Object eventViewReference) { + this.eventViewReference = eventViewReference; + } + + /** + * Gets the event view reference of the location + * + * @return the event view reference + */ + public Object getEventViewReference() { + return eventViewReference; + } + +}