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.linuxtools.tmf.analysis.xml.core.model.readonly;
15
import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
16
import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateAttribute;
17
import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
18
import org.w3c.dom.Element;
21
* Implements a state attribute in a read only mode. See
22
* {@link TmfXmlStateAttribute} for the syntax of this attribute.
24
* In read-only mode, attributes that are requested but do not exist in the
25
* state system will not be added.
27
* @author Geneviève Bastien
29
public class TmfXmlReadOnlyStateAttribute extends TmfXmlStateAttribute {
35
* The factory used to create XML model elements
37
* The XML element corresponding to this attribute
39
* The state system container this state value belongs to
41
public TmfXmlReadOnlyStateAttribute(TmfXmlReadOnlyModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
42
super(modelFactory, attribute, container);
46
protected int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException {
47
return getStateSystem().getQuarkAbsolute(path);
51
protected int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException {
52
return getStateSystem().getQuarkRelative(startNodeQuark, path);