blob: a9fa972b24da4304e14d404f9ab5d9089bfcfaad [file] [log] [blame]
Vinod Kumar Sd4deb062016-04-15 18:08:57 +05301/*
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +05302 * Copyright 2016-present Open Networking Laboratory
Vinod Kumar Sd4deb062016-04-15 18:08:57 +05303 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.yangutils.translator.tojava.javamodel;
17
18import org.onosproject.yangutils.datamodel.YangLeaf;
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053019import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
Gaurav Agrawal8a5af142016-06-15 13:58:01 +053020import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil;
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053021
22import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo;
Gaurav Agrawal8a5af142016-06-15 13:58:01 +053023import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053024
25/**
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053026 * Represents java information corresponding to the YANG leaf.
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053027 */
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053028public class YangJavaLeaf
29 extends YangLeaf
30 implements JavaLeafInfoContainer {
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053031
Bharat saraswal96dfef02016-06-16 00:29:12 +053032 private static final long serialVersionUID = 806201636L;
33
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053034 private JavaQualifiedTypeInfo javaQualifiedAccess;
Bharat saraswal96dfef02016-06-16 00:29:12 +053035 private transient YangToJavaNamingConflictUtil conflictResolveConfig;
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053036
37 /**
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053038 * Returns a new YANG leaf object with java qualified access details.
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053039 */
40 public YangJavaLeaf() {
41 super();
42 setJavaQualifiedInfo(new JavaQualifiedTypeInfo());
43 }
44
45 @Override
46 public JavaQualifiedTypeInfo getJavaQualifiedInfo() {
47 return javaQualifiedAccess;
48 }
49
50 @Override
51 public void setJavaQualifiedInfo(JavaQualifiedTypeInfo typeInfo) {
52 javaQualifiedAccess = typeInfo;
53
54 }
55
Bharat saraswal33dfa012016-05-17 19:59:16 +053056 @Override
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053057 public String getJavaName(YangToJavaNamingConflictUtil conflictResolveConfig) {
58 return getCamelCase(getName(), conflictResolveConfig);
59 }
60
61 @Override
62 public boolean isLeafList() {
63 return false;
64 }
65
66 @Override
67 public void updateJavaQualifiedInfo() {
68 updateLeavesJavaQualifiedInfo(this);
69 }
Bharat saraswal33dfa012016-05-17 19:59:16 +053070
71 /**
72 * Returns java naming conflict resolve configurations.
73 *
74 * @return java naming conflict resolve configurations
75 */
Bharat saraswalcad0e652016-05-26 23:48:38 +053076 @Override
Bharat saraswal33dfa012016-05-17 19:59:16 +053077 public YangToJavaNamingConflictUtil getConflictResolveConfig() {
78 return conflictResolveConfig;
79 }
80
81 /**
82 * Sets java naming conflict resolve configurations.
83 *
84 * @param conflictResolveConfig java naming conflict resolve configurations
85 */
Bharat saraswalcad0e652016-05-26 23:48:38 +053086 @Override
Bharat saraswal33dfa012016-05-17 19:59:16 +053087 public void setConflictResolveConfig(YangToJavaNamingConflictUtil conflictResolveConfig) {
88 this.conflictResolveConfig = conflictResolveConfig;
89 }
90
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053091}