1 /*******************************************************************************
2 * Copyright (c) 2014 École Polytechnique de Montréal
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
10 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.tracecompass
.tmf
.analysis
.xml
.core
.model
.readonly
;
15 import org
.eclipse
.tracecompass
.statesystem
.core
.ITmfStateSystem
;
16 import org
.eclipse
.tracecompass
.statesystem
.core
.exceptions
.AttributeNotFoundException
;
17 import org
.eclipse
.tracecompass
.tmf
.analysis
.xml
.core
.model
.TmfXmlStateAttribute
;
18 import org
.eclipse
.tracecompass
.tmf
.analysis
.xml
.core
.module
.IXmlStateSystemContainer
;
19 import org
.w3c
.dom
.Element
;
22 * Implements a state attribute in a read only mode. See
23 * {@link TmfXmlStateAttribute} for the syntax of this attribute.
25 * In read-only mode, attributes that are requested but do not exist in the
26 * state system will not be added.
28 * @author Geneviève Bastien
30 public class TmfXmlReadOnlyStateAttribute
extends TmfXmlStateAttribute
{
36 * The factory used to create XML model elements
38 * The XML element corresponding to this attribute
40 * The state system container this state value belongs to
42 public TmfXmlReadOnlyStateAttribute(TmfXmlReadOnlyModelFactory modelFactory
, Element attribute
, IXmlStateSystemContainer container
) {
43 super(modelFactory
, attribute
, container
);
47 protected int getQuarkAbsoluteAndAdd(String
... path
) throws AttributeNotFoundException
{
48 ITmfStateSystem ss
= getStateSystem();
50 throw new IllegalStateException("The state system hasn't been initialized yet"); //$NON-NLS-1$
52 return ss
.getQuarkAbsolute(path
);
56 protected int getQuarkRelativeAndAdd(int startNodeQuark
, String
... path
) throws AttributeNotFoundException
{
57 ITmfStateSystem ss
= getStateSystem();
59 throw new IllegalStateException("The state system hasn't been initialized yet"); //$NON-NLS-1$
61 return ss
.getQuarkRelative(startNodeQuark
, path
);