tmf: Split the state system in a separate plugin
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.analysis.xml.core / src / org / eclipse / linuxtools / tmf / analysis / xml / core / model / readwrite / TmfXmlReadWriteStateAttribute.java
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.readwrite;
14
15 import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
16 import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
17 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateAttribute;
18 import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
19 import org.w3c.dom.Element;
20
21 /**
22 * Implements a state attribute in a read write mode. See
23 * {@link TmfXmlStateAttribute} for the syntax of this attribute.
24 *
25 * In read-write mode, attributes that are requested but do not exist are added
26 * to the state system.
27 *
28 * @author Geneviève Bastien
29 */
30 public class TmfXmlReadWriteStateAttribute extends TmfXmlStateAttribute {
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 */
42 public TmfXmlReadWriteStateAttribute(TmfXmlReadWriteModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
43 super(modelFactory, attribute, container);
44 }
45
46 @Override
47 protected ITmfStateSystemBuilder getStateSystem() {
48 return (ITmfStateSystemBuilder) super.getStateSystem();
49 }
50
51 @Override
52 protected int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException {
53 return getStateSystem().getQuarkAbsoluteAndAdd(path);
54 }
55
56 @Override
57 protected int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException {
58 return getStateSystem().getQuarkRelativeAndAdd(startNodeQuark, path);
59 }
60
61 }
This page took 0.032831 seconds and 5 git commands to generate.