edf554976a2fed6b5a37a3809b70b94dfad0dd3b
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.chart.core / src / org / eclipse / tracecompass / internal / provisional / tmf / chart / core / descriptor / DataChartNumericalDescriptor.java
1 /*******************************************************************************
2 * Copyright (c) 2016 École Polytechnique de Montréal
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *******************************************************************************/
9
10 package org.eclipse.tracecompass.internal.provisional.tmf.chart.core.descriptor;
11
12 import org.eclipse.jdt.annotation.Nullable;
13 import org.eclipse.tracecompass.internal.provisional.tmf.chart.core.resolver.INumericalResolver;
14
15 /**
16 * Abstract class for describing numbers from a stream of objects it
17 * understands.
18 *
19 * @param <T>
20 * The type of the input it understands
21 * @param <R>
22 * The type of the output number it describes
23 *
24 * @see IDataChartDescriptor
25 *
26 * @author Gabriel-Andrew Pollo-Guilbert
27 */
28 public class DataChartNumericalDescriptor<T, R extends Number> implements IDataChartDescriptor<T, R> {
29
30 // ------------------------------------------------------------------------
31 // Members
32 // ------------------------------------------------------------------------
33
34 private final String fName;
35 private final INumericalResolver<T, R> fResolver;
36
37 // ------------------------------------------------------------------------
38 // Constructors
39 // ------------------------------------------------------------------------
40
41 /**
42 * Constructor.
43 *
44 * @param name
45 * The name of the descriptor
46 * @param resolver
47 * The resolver used for mapping numbers
48 */
49 public DataChartNumericalDescriptor(String name, INumericalResolver<T, R> resolver) {
50 fName = name;
51 fResolver = resolver;
52 }
53
54 // ------------------------------------------------------------------------
55 // Overriden methods
56 // ------------------------------------------------------------------------
57
58 @Override
59 public void accept(IDescriptorVisitor visitor) {
60 visitor.visit(this);
61 }
62
63 @Override
64 public INumericalResolver<T, R> getResolver() {
65 return fResolver;
66 }
67
68 @Override
69 public String getName() {
70 return fName;
71 }
72
73 @Override
74 public @Nullable String getUnit() {
75 return null;
76 }
77
78 @Override
79 public String toString() {
80 return "Numerical Descriptor: " + getName(); //$NON-NLS-1$
81 }
82
83 }
This page took 0.032018 seconds and 4 git commands to generate.