X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tmf%2Forg.lttng.scope.tmf2.views.core%2Fsrc%2Forg%2Flttng%2Fscope%2Ftmf2%2Fviews%2Fcore%2Ftimegraph%2Fmodel%2Frender%2Farrows%2FTimeGraphArrowRender.java;fp=tmf%2Forg.lttng.scope.tmf2.views.core%2Fsrc%2Forg%2Flttng%2Fscope%2Ftmf2%2Fviews%2Fcore%2Ftimegraph%2Fmodel%2Frender%2Farrows%2FTimeGraphArrowRender.java;h=e01978449a6431cbc0e28e925e8b7043fb2b3a17;hb=c879c4dbd44a9d1b6f5213831e98e807bb091f36;hp=0000000000000000000000000000000000000000;hpb=0b55ad30f1f5ee8ca3fd0ce5ff4c40022dff8661;p=deliverable%2Ftracecompass.git diff --git a/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/render/arrows/TimeGraphArrowRender.java b/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/render/arrows/TimeGraphArrowRender.java new file mode 100644 index 0000000000..e01978449a --- /dev/null +++ b/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/render/arrows/TimeGraphArrowRender.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2016-2017 EfficiOS Inc., Alexandre Montplaisir + * + * 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 + */ + +package org.lttng.scope.tmf2.views.core.timegraph.model.render.arrows; + +import java.util.Collection; +import java.util.Collections; + +import org.lttng.scope.tmf2.views.core.TimeRange; + +import com.google.common.collect.ImmutableList; + +/** + * Render of time graph arrows, containing all possible arrows of a single + * series for a given time range. + * + * @author Alexandre Montplaisir + */ +public class TimeGraphArrowRender { + + /** Empty arrow render, can be used instead of a null value */ + public static final TimeGraphArrowRender EMPTY_RENDER = + new TimeGraphArrowRender(TimeRange.of(0, 0), Collections.EMPTY_LIST); + + private final TimeRange fTimeRange; + private final Collection fArrows; + + /** + * Constructor + * + * @param range + * Time range of this arrow render. For reference only, should + * probably match the time range of the query that created this + * render. + * @param arrows + * The arrows contained in this render. + */ + public TimeGraphArrowRender(TimeRange range, Iterable arrows) { + fTimeRange = range; + fArrows = ImmutableList.copyOf(arrows); + } + + /** + * Get the time range of this arrow render. + * + * @return The time range + */ + public TimeRange getTimeRange() { + return fTimeRange; + } + + /** + * Get the arrows contained in this render. + * + * @return The arrows + */ + public Collection getArrows() { + return fArrows; + } + +}