~ubuntu-branches/ubuntu/vivid/eclipse-linuxtools/vivid-proposed

« back to all changes in this revision

Viewing changes to lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateValue.java

  • Committer: Package Import Robot
  • Author(s): Jakub Adam, Jakub Adam, tony mancill
  • Date: 2014-10-11 11:44:05 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20141011114405-yazjvxfzzhmi5sgj
Tags: 3.1.0-1
[ Jakub Adam ]
* New upstream release (Closes: #761524).
* Refreshed d/patches.
* Don't build removed feature org.eclipse.linuxtools.tools.launch
  - merged into org.eclipse.linuxtools.profiling.
* Use javac target 1.7.
* Build new feature org.eclipse.linuxtools.dataviewers.feature
  - required by Valgrind integration.
* Build-depend on eclipse-remote-services-api and eclipse-cdt-autotools.
* Bump Standards-Version to 3.9.6.
* Override incompatible-java-bytecode-format - linuxtools needs Java 7.
* Remove unused codeless-jar override.

[ tony mancill ]
* Tweak short package description to make lintian happy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*******************************************************************************
 
2
 * Copyright (c) 2014 É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
 * Contributors:
 
10
 *   Geneviève Bastien - Initial API and implementation
 
11
 *******************************************************************************/
 
12
 
 
13
package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
 
14
 
 
15
import java.util.List;
 
16
 
 
17
import org.eclipse.jdt.annotation.NonNull;
 
18
import org.eclipse.jdt.annotation.Nullable;
 
19
import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
 
20
import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
 
21
import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
 
22
import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
 
23
import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
 
24
 
 
25
/**
 
26
 * Interface that describe operations on a state value described in an XML
 
27
 * element
 
28
 *
 
29
 * @author Geneviève Bastien
 
30
 */
 
31
public interface ITmfXmlStateValue {
 
32
 
 
33
    /**
 
34
     * Get the current {@link ITmfStateValue} of this state value for an event.
 
35
     * It does not increment the value and does not any other processing of the
 
36
     * value.
 
37
     *
 
38
     * @param event
 
39
     *            The current event or <code>null</code> if no event is
 
40
     *            available.
 
41
     * @return the {@link ITmfStateValue}
 
42
     * @throws AttributeNotFoundException
 
43
     *             May be thrown by the state system during the query
 
44
     */
 
45
    ITmfStateValue getValue(@Nullable ITmfEvent event) throws AttributeNotFoundException;
 
46
 
 
47
    /**
 
48
     * Get the value of the event field that is the path of this state value
 
49
     *
 
50
     * @param event
 
51
     *            The current event
 
52
     * @return the value of the event field
 
53
     */
 
54
    ITmfStateValue getEventFieldValue(@NonNull ITmfEvent event);
 
55
 
 
56
    /**
 
57
     * Get the list of state attributes, the path to the state value
 
58
     *
 
59
     * @return the list of Attribute to have the path in the State System
 
60
     */
 
61
    List<ITmfXmlStateAttribute> getAttributes();
 
62
 
 
63
    /**
 
64
     * Handles an event, by setting the value of the attribute described by the
 
65
     * state attribute path in the state system.
 
66
     *
 
67
     * @param event
 
68
     *            The event to process
 
69
     * @throws AttributeNotFoundException
 
70
     *             Pass through the exception it received
 
71
     * @throws TimeRangeException
 
72
     *             Pass through the exception it received
 
73
     * @throws StateValueTypeException
 
74
     *             Pass through the exception it received
 
75
     */
 
76
    void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException;
 
77
 
 
78
}