Add instructions to invoke the linter and code formatter plugins to the README and...
[aai/schema-service.git] / aai-schema-gen / src / main / java / org / onap / aai / schemagen / genxsd / XSDJavaType.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * <p>
11  * http://www.apache.org/licenses/LICENSE-2.0
12  * <p>
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.aai.schemagen.genxsd;
22
23 import org.w3c.dom.Element;
24 import org.w3c.dom.NodeList;
25
26 public class XSDJavaType extends XSDElement {
27
28     public XSDJavaType(Element javaTypeElement) {
29         super(javaTypeElement);
30     }
31
32     /*
33      * public XSDJavaType(XSDElement javaTypeElement, StringBuffer pathSb, StringBuffer
34      * definitionsSb,
35      * StringBuffer pathParams) {
36      * super(javaTypeElement);
37      * this.pathSb = pathSb;
38      * this.definitionsSb = definitionsSb;
39      * this.pathParams = pathParams;
40      * }
41      */
42     public String getItemName() {
43         NodeList parentNodes = this.getElementsByTagName("java-attributes");
44         if (parentNodes.getLength() == 0) {
45             return null;
46         }
47         Element parentElement = (Element) parentNodes.item(0);
48         NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
49         XSDElement xmlElementElement = new XSDElement((Element) xmlElementNodes.item(0));
50         return xmlElementElement.getAttribute("name");
51     }
52
53     public String getArrayType() {
54         NodeList parentNodes = this.getElementsByTagName("java-attributes");
55         if (parentNodes.getLength() == 0) {
56             return null;
57         }
58         Element parentElement = (Element) parentNodes.item(0);
59         NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
60         XSDElement xmlElementElement = new XSDElement((Element) xmlElementNodes.item(0));
61         if (xmlElementElement.hasAttribute("container-type")
62             && xmlElementElement.getAttribute("container-type").equals("java.util.ArrayList")) {
63             return xmlElementElement.getAttribute("name");
64         }
65         return null;
66     }
67 }