+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
package org.opendaylight.yangtools.binding.generator.util;
import java.io.ByteArrayOutputStream;
import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedPropertyBuilder;
import org.opendaylight.yangtools.sal.binding.model.api.type.builder.MethodSignatureBuilder;
import org.opendaylight.yangtools.sal.binding.model.api.type.builder.TypeMemberBuilder;
+import org.opendaylight.yangtools.yang.binding.BindingMapping;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
+import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
import org.opendaylight.yangtools.yang.model.util.ExtendedType;
/**
/**
* Array of strings values which represents JAVA reserved words.
*/
+ @Deprecated
private static final String[] SET_VALUES = new String[] { "abstract", "assert", "boolean", "break", "byte", "case",
"catch", "char", "class", "const", "continue", "default", "double", "do", "else", "enum", "extends",
"false", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int",
/**
* Hash set of words which are reserved in JAVA language.
*/
+ @Deprecated
private static final Set<String> JAVA_RESERVED_WORDS = new HashSet<String>(Arrays.asList(SET_VALUES));
/**
* JAVA class name
* @return string which is in accordance with best practices for JAVA class
* name.
+ *
+ * @deprecated Use {@link BindingMapping#getClassName(QName)} instead.
*/
+ @Deprecated
public static String parseToClassName(String token) {
return parseToCamelCase(token, true);
}
if (type instanceof ExtendedType) {
ExtendedType ext = (ExtendedType)type;
+ TypeDefinition<?> base = ext.getBaseType();
length.addAll(ext.getLengthConstraints());
pattern.addAll(ext.getPatternConstraints());
range.addAll(ext.getRangeConstraints());
+
+ if (base instanceof IntegerTypeDefinition && range.isEmpty()) {
+ range.addAll(((IntegerTypeDefinition)base).getRangeConstraints());
+ } else if (base instanceof UnsignedIntegerTypeDefinition && range.isEmpty()) {
+ range.addAll(((UnsignedIntegerTypeDefinition)base).getRangeConstraints());
+ } else if (base instanceof DecimalTypeDefinition && range.isEmpty()) {
+ range.addAll(((DecimalTypeDefinition)base).getRangeConstraints());
+ }
+
}
return new Restrictions() {