ss: Move plugins to Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.analysis.xml.core / src / org / eclipse / linuxtools / tmf / analysis / xml / core / model / readwrite / TmfXmlReadWriteModelFactory.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 java.util.List;
16
17 import org.eclipse.jdt.annotation.NonNull;
18 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
19 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
20 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateValue;
21 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlCondition;
22 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlEventHandler;
23 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
24 import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateChange;
25 import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
26 import org.w3c.dom.Element;
27
28 /**
29 * Concrete factory for XML model elements in read write mode
30 *
31 * @author Geneviève Bastien
32 */
33 public class TmfXmlReadWriteModelFactory implements ITmfXmlModelFactory {
34
35 private static ITmfXmlModelFactory fInstance = null;
36
37 /**
38 * Get the instance of this model creator
39 *
40 * @return The {@link TmfXmlReadWriteModelFactory} instance
41 */
42 @NonNull
43 public static synchronized ITmfXmlModelFactory getInstance() {
44 ITmfXmlModelFactory instance = fInstance;
45 if (instance == null) {
46 instance = new TmfXmlReadWriteModelFactory();
47 fInstance = instance;
48 }
49 return instance;
50 }
51
52 @Override
53 public ITmfXmlStateAttribute createStateAttribute(Element attribute, IXmlStateSystemContainer container) {
54 return new TmfXmlReadWriteStateAttribute(this, attribute, container);
55 }
56
57 @Override
58 public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes) {
59 return new TmfXmlReadWriteStateValue(this, node, container, attributes);
60 }
61
62 @Override
63 public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, String eventField) {
64 return new TmfXmlReadWriteStateValue(this, node, container, eventField);
65 }
66
67 @Override
68 public TmfXmlCondition createCondition(Element node, IXmlStateSystemContainer container) {
69 return new TmfXmlCondition(this, node, container);
70 }
71
72 @Override
73 public TmfXmlEventHandler createEventHandler(Element node, IXmlStateSystemContainer container) {
74 return new TmfXmlEventHandler(this, node, container);
75 }
76
77 @Override
78 public TmfXmlStateChange createStateChange(Element node, IXmlStateSystemContainer container) {
79 return new TmfXmlStateChange(this, node, container);
80 }
81
82 @Override
83 public TmfXmlLocation createLocation(Element node, IXmlStateSystemContainer container) {
84 return new TmfXmlLocation(this, node, container);
85 }
86
87 }
This page took 0.052264 seconds and 5 git commands to generate.