lttng.ust: Add the build-ID to the key of cache of addr2line calls
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.analysis.xml.core / src / org / eclipse / tracecompass / tmf / analysis / xml / core / model / readonly / TmfXmlReadOnlyStateAttribute.java
CommitLineData
1d7e62f9
GB
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
2bdf0193 13package org.eclipse.tracecompass.tmf.analysis.xml.core.model.readonly;
1d7e62f9 14
12685851 15import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
e894a508 16import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundException;
2bdf0193
AM
17import org.eclipse.tracecompass.tmf.analysis.xml.core.model.TmfXmlStateAttribute;
18import org.eclipse.tracecompass.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
1d7e62f9
GB
19import org.w3c.dom.Element;
20
21/**
b1ebf44e 22 * Implements a state attribute in a read only mode. See
1d7e62f9
GB
23 * {@link TmfXmlStateAttribute} for the syntax of this attribute.
24 *
b1ebf44e
GB
25 * In read-only mode, attributes that are requested but do not exist in the
26 * state system will not be added.
1d7e62f9
GB
27 *
28 * @author Geneviève Bastien
29 */
b1ebf44e 30public class TmfXmlReadOnlyStateAttribute extends TmfXmlStateAttribute {
1d7e62f9
GB
31
32 /**
33 * Constructor
34 *
35 * @param modelFactory
36 * The factory used to create XML model elements
37 * @param attribute
38 * The XML element corresponding to this attribute
39 * @param container
40 * The state system container this state value belongs to
41 */
b1ebf44e 42 public TmfXmlReadOnlyStateAttribute(TmfXmlReadOnlyModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
1d7e62f9
GB
43 super(modelFactory, attribute, container);
44 }
45
1d7e62f9
GB
46 @Override
47 protected int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException {
12685851
GB
48 ITmfStateSystem ss = getStateSystem();
49 if (ss == null) {
50 throw new IllegalStateException("The state system hasn't been initialized yet"); //$NON-NLS-1$
51 }
52 return ss.getQuarkAbsolute(path);
1d7e62f9
GB
53 }
54
55 @Override
56 protected int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException {
12685851
GB
57 ITmfStateSystem ss = getStateSystem();
58 if (ss == null) {
59 throw new IllegalStateException("The state system hasn't been initialized yet"); //$NON-NLS-1$
60 }
61 return ss.getQuarkRelative(startNodeQuark, path);
1d7e62f9
GB
62 }
63
64}
This page took 0.070786 seconds and 5 git commands to generate.