Update jflex to 1.8.2
[scilab.git] / scilab / modules / helptools / src / java / org / scilab / modules / helptools / DocbookElement.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010 - Calixte DENIZET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 package org.scilab.modules.helptools;
17
18 import java.util.Map;
19
20 public class DocbookElement {
21
22     private Map<String, String> attributes;
23     private String name;
24     private StringBuilder contents;
25     private String uri;
26
27     /**
28      * Default constructor
29      * @param name the tag name
30      * @param attributes the attributes and its values
31      */
32     protected DocbookElement(String name, String uri, Map<String, String> attributes) {
33         this.name = name;
34         this.attributes = attributes;
35         this.uri = uri;
36         contents = new StringBuilder();
37     }
38
39     /**
40      * @return a new DocbookElement
41      */
42     public DocbookElement getNewInstance(String name, String uri, Map<String, String> attributes) {
43         return new DocbookElement(name, uri, attributes);
44     }
45
46     /**
47      * @return the tag name
48      */
49     public String getName() {
50         return name;
51     }
52
53     /**
54      * @return the tag uri
55      */
56     public String getURI() {
57         return uri;
58     }
59
60     /**
61      * @return the attributes
62      */
63     public Map<String, String> getAttributes() {
64         return attributes;
65     }
66
67     /**
68      * @return the buffer used to add contents of the tag
69      */
70     public StringBuilder getStringBuilder() {
71         return contents;
72     }
73
74     /**
75      * @param the buffer to use
76      */
77     public void setStringBuilder(StringBuilder buf) {
78         contents = buf;
79     }
80
81     /**
82      * This method can be used to store other things...
83      * and it should be override since it does nothing...
84      * I created it to handle the case where the converter has two String (or more)
85      * to generate with the same data.
86      * @param obj the Object to append.
87      */
88     public void append(Object obj) { }
89
90     /**
91      * This method can be used to get what it has been stored with append
92      * @return an object
93      */
94     public Object get() {
95         return null;
96     }
97
98     /**
99      * Add a parent to retrieve its contents
100      * @param elem the parent
101      */
102     public void setParent(DocbookElement elem) { }
103
104     /**
105      * @return the parent element
106      */
107     public DocbookElement getParent() {
108         return null;
109     }
110
111     @Override
112     public String toString() {
113         return "<" + name + ">:" + attributes;
114     }
115 }