<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>binding-generator</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>binding-generator</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
var Type returnType = null;
if (typeDef instanceof EnumTypeDefinition) {
returnType = typeProvider.javaTypeForSchemaDefinitionType(typeDef, leaf);
- val enumTypeDef = enumTypeDefFromExtendedType(typeDef);
+ val enumTypeDef = typeDef as EnumTypeDefinition;
val enumBuilder = resolveInnerEnumFromTypeDefinition(enumTypeDef, leafName, typeBuilder);
if (enumBuilder !== null) {
if (typeDef instanceof UnionTypeDefinition) {
genTOBuilders.addAll(
(typeProvider as TypeProviderImpl).
- provideGeneratedTOBuildersForUnionTypeDef(packageName, typeDef, classNameFromLeaf, leaf));
+ provideGeneratedTOBuildersForUnionTypeDef(packageName, (typeDef as UnionTypeDefinition), classNameFromLeaf, leaf));
} else if (typeDef instanceof BitsTypeDefinition) {
genTOBuilders.add(
((typeProvider as TypeProviderImpl) ).
*/
package org.opendaylight.yangtools.sal.binding.yang.types;
-import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.moduleNamespaceToPackageName;
-import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.packageNameForGeneratedType;
-import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.parseToClassName;
-import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.parseToValidParamName;
-import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findDataSchemaNode;
-import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findDataSchemaNodeForRelativeXPath;
-import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findParentModule;
+import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.*;
+import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.*;
import java.util.ArrayList;
import java.util.HashMap;
/**
* Creates new instance of class <code>TypeProviderImpl</code>.
- *
+ *
* @param schemaContext
* contains the schema data red from YANG files
* @throws IllegalArgumentException
/**
* Puts <code>refType</code> to map with key <code>refTypePath</code>
- *
+ *
* @param refTypePath
* schema path used as the map key
* @param refType
* <li>if <code>refTypePath</code> equal null</li>
* <li>if <code>refType</code> equal null</li>
* </ul>
- *
+ *
*/
public void putReferencedType(final SchemaPath refTypePath, final Type refType) {
Preconditions.checkArgument(refTypePath != null,
"Path reference of Enumeration Type Definition cannot be NULL!");
-
Preconditions.checkArgument(refType != null, "Reference to Enumeration Type cannot be NULL!");
referencedTypes.put(refTypePath, refType);
}
/**
- *
+ *
* Converts basic YANG type <code>type</code> to JAVA <code>Type</code>.
- *
+ *
* @param type
* string with YANG name of type
* @returns JAVA <code>Type</code> for YANG type <code>type</code>
/**
* Converts schema definition type <code>typeDefinition</code> to JAVA
* <code>Type</code>
- *
+ *
* @param typeDefinition
* type definition which is converted to JAVA type
* @throws IllegalArgumentException
* Returns JAVA <code>Type</code> for instances of the type
* <code>LeafrefTypeDefinition</code> or
* <code>IdentityrefTypeDefinition</code>.
- *
+ *
* @param typeDefinition
* type definition which is converted to JAVA <code>Type</code>
* @return JAVA <code>Type</code> instance for <code>typeDefinition</code>
/**
* Returns JAVA <code>Type</code> for instances of the type
* <code>ExtendedType</code>.
- *
+ *
* @param typeDefinition
* type definition which is converted to JAVA <code>Type</code>
* @return JAVA <code>Type</code> instance for <code>typeDefinition</code>
* Seeks for identity reference <code>idref</code> the JAVA
* <code>type</code>.<br />
* <br />
- *
+ *
* <i>Example:<br />
* If identy which is referenced via <code>idref</code> has name <b>Idn</b>
* then returning type is <b>{@code Class<? extends Idn>}</b></i>
- *
+ *
* @param idref
* identityref type definition for which JAVA <code>Type</code>
* is sought
/**
* Converts <code>typeDefinition</code> to concrete JAVA <code>Type</code>.
- *
+ *
* @param typeDefinition
* type definition which should be converted to JAVA
* <code>Type</code>
/**
* Gets base type definition for <code>extendTypeDef</code>. The method is
* recursivelly called until non <code>ExtendedType</code> type is found.
- *
+ *
* @param extendTypeDef
* type definition for which is the base type definition sought
* @return type definition which is base type for <code>extendTypeDef</code>
/**
* Converts <code>leafrefType</code> to JAVA <code>Type</code>.
- *
+ *
* The path of <code>leafrefType</code> is followed to find referenced node
* and its <code>Type</code> is returned.
- *
+ *
* @param leafrefType
* leafref type definition for which is the type sought
* @return JAVA <code>Type</code> of data schema node which is referenced in
* <li>if <code>leafrefType</code> equal null</li>
* <li>if path statement of <code>leafrefType</code> equal null</li>
* </ul>
- *
+ *
*/
public Type provideTypeForLeafref(final LeafrefTypeDefinition leafrefType, final SchemaNode parentNode) {
Type returnType = null;
/**
* Checks if <code>dataNode</code> is <code>LeafSchemaNode</code> and if it
* so then checks if it is of type <code>EnumTypeDefinition</code>.
- *
+ *
* @param dataNode
* data schema node for which is checked if it is leaf and if it
* is of enum type
/**
* Checks if <code>dataNode</code> is <code>LeafListSchemaNode</code> and if
* it so then checks if it is of type <code>EnumTypeDefinition</code>.
- *
+ *
* @param dataNode
* data schema node for which is checked if it is leaflist and if
* it is of enum type
* Converts <code>enumTypeDef</code> to
* {@link org.opendaylight.yangtools.sal.binding.model.api.Enumeration
* enumeration}.
- *
+ *
* @param enumTypeDef
* enumeration type definition which is converted to enumeration
* @param enumName
/**
* Adds enumeration to <code>typeBuilder</code>. The enumeration data are
* taken from <code>enumTypeDef</code>.
- *
+ *
* @param enumTypeDef
* enumeration type definition is source of enumeration data for
* <code>typeBuilder</code>
* <li>if name of <code>enumTypeDef</code> equal null</li>
* <li>if name of <code>typeBuilder</code> equal null</li>
* </ul>
- *
+ *
*/
private Enumeration addInnerEnumerationToTypeBuilder(final EnumTypeDefinition enumTypeDef, final String enumName,
final GeneratedTypeBuilderBase<?> typeBuilder) {
/**
* Converts <code>dataNode</code> to JAVA <code>Type</code>.
- *
+ *
* @param dataNode
* contains information about YANG type
* @return JAVA <code>Type</code> representation of <code>dataNode</code>
/**
* Passes through all modules and through all its type definitions and
* convert it to generated types.
- *
+ *
* The modules are firstly sorted by mutual dependencies. The modules are
* sequentially passed. All type definitions of a module are at the
* beginning sorted so that type definition with less amount of references
* {@link TypeProviderImpl#genTypeDefsContextMap genTypeDefsContextMap}
* which map current module name to the map which maps type names to
* returned types (generated types).
- *
+ *
*/
private void resolveTypeDefsFromContext() {
final Set<Module> modules = schemaContext.getModules();
}
/**
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param moduleName
returnType = provideGeneratedTOFromExtendedType(innerExtendedType, basePackageName, typedefName);
} else if (innerTypeDefinition instanceof UnionTypeDefinition) {
final GeneratedTOBuilder genTOBuilder = provideGeneratedTOBuilderForUnionTypeDef(basePackageName,
- typedef, typedefName, typedef);
+ (UnionTypeDefinition) innerTypeDefinition, typedefName, typedef);
returnType = genTOBuilder.toInstance();
} else if (innerTypeDefinition instanceof EnumTypeDefinition) {
final EnumTypeDefinition enumTypeDef = (EnumTypeDefinition) innerTypeDefinition;
/**
* Wraps base YANG type to generated TO.
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param typedef
/**
* Converts output list of generated TO builders to one TO builder (first
* from list) which contains the remaining builders as its enclosing TO.
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param typedef
* builders
*/
public GeneratedTOBuilder provideGeneratedTOBuilderForUnionTypeDef(final String basePackageName,
- final TypeDefinition<?> typedef, String typeDefName, SchemaNode parentNode) {
+ final UnionTypeDefinition typedef, String typeDefName, SchemaNode parentNode) {
final List<GeneratedTOBuilder> genTOBuilders = provideGeneratedTOBuildersForUnionTypeDef(basePackageName,
typedef, typeDefName, parentNode);
GeneratedTOBuilder resultTOBuilder = null;
* Converts <code>typedef</code> to generated TO with
* <code>typeDefName</code>. Every union type from <code>typedef</code> is
* added to generated TO builder as property.
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param typedef
* </ul>
*/
public List<GeneratedTOBuilder> provideGeneratedTOBuildersForUnionTypeDef(final String basePackageName,
- final TypeDefinition<?> typedef, final String typeDefName, final SchemaNode parentNode) {
+ final UnionTypeDefinition typedef, final String typeDefName, final SchemaNode parentNode) {
Preconditions.checkArgument(basePackageName != null, "Base Package Name cannot be NULL!");
Preconditions.checkArgument(typedef != null, "Type Definition cannot be NULL!");
Preconditions.checkArgument(typedef.getQName() != null,
final List<GeneratedTOBuilder> generatedTOBuilders = new ArrayList<>();
- final TypeDefinition<?> baseTypeDefinition = typedef.getBaseType();
- if ((baseTypeDefinition != null) && (baseTypeDefinition instanceof UnionTypeDefinition)) {
- final UnionTypeDefinition unionTypeDef = (UnionTypeDefinition) baseTypeDefinition;
- final List<TypeDefinition<?>> unionTypes = unionTypeDef.getTypes();
+ if (typedef != null) {
+ final List<TypeDefinition<?>> unionTypes = typedef.getTypes();
final GeneratedTOBuilder unionGenTOBuilder;
if (typeDefName != null && !typeDefName.isEmpty()) {
for (final TypeDefinition<?> unionType : unionTypes) {
final String unionTypeName = unionType.getQName().getLocalName();
if (unionType instanceof UnionType) {
- generatedTOBuilders.addAll(resolveUnionSubtypeAsUnion(unionGenTOBuilder, unionType,
+ generatedTOBuilders.addAll(resolveUnionSubtypeAsUnion(unionGenTOBuilder, (UnionType) unionType,
basePackageName, parentNode));
} else if (unionType instanceof ExtendedType) {
resolveExtendedSubtypeAsUnion(unionGenTOBuilder, (ExtendedType) unionType, unionTypeName,
/**
* Wraps code which handle case when union subtype is also of the type
* <code>UnionType</code>.
- *
+ *
* In this case the new generated TO is created for union subtype (recursive
* call of method
* {@link #provideGeneratedTOBuilderForUnionTypeDef(String, TypeDefinition, String)
* provideGeneratedTOBuilderForUnionTypeDef} and in parent TO builder
* <code>parentUnionGenTOBuilder</code> is created property which type is
* equal to new generated TO.
- *
+ *
* @param parentUnionGenTOBuilder
* generated TO builder to which is the property with the child
* union subtype added
* <code>provideGeneratedTOBuildersForUnionTypeDef</code> method.
*/
private List<GeneratedTOBuilder> resolveUnionSubtypeAsUnion(final GeneratedTOBuilder parentUnionGenTOBuilder,
- final TypeDefinition<?> unionSubtype, final String basePackageName, final SchemaNode parentNode) {
+ final UnionTypeDefinition unionSubtype, final String basePackageName, final SchemaNode parentNode) {
final String newTOBuilderName = provideAvailableNameForGenTOBuilder(parentUnionGenTOBuilder.getName());
final List<GeneratedTOBuilder> subUnionGenTOBUilders = provideGeneratedTOBuildersForUnionTypeDef(
basePackageName, unionSubtype, newTOBuilderName, parentNode);
/**
* Wraps code which handle case when union subtype is of the type
* <code>ExtendedType</code>.
- *
+ *
* If TO for this type already exists it is used for the creation of the
* property in <code>parentUnionGenTOBuilder</code>. In other case the base
* type is used for the property creation.
- *
+ *
* @param parentUnionGenTOBuilder
* generated TO builder in which new property is created
* @param unionSubtype
/**
* Searches for generated TO for <code>searchedTypeDef</code> type
* definition in {@link #genTypeDefsContextMap genTypeDefsContextMap}
- *
+ *
* @param searchedTypeName
* string with name of <code>searchedTypeDef</code>
* @return generated TO for <code>searchedTypeDef</code> or
* Stores generated TO created from <code>genTOBuilder</code> for
* <code>newTypeDef</code> to {@link #genTypeDefsContextMap
* genTypeDefsContextMap} if the module for <code>newTypeDef</code> exists
- *
+ *
* @param newTypeDef
* type definition for which is <code>genTOBuilder</code> created
* @param genTOBuilder
/**
* Adds a new property with the name <code>propertyName</code> and with type
* <code>type</code> to <code>unonGenTransObject</code>.
- *
+ *
* @param unionGenTransObject
* generated TO to which should be property added
* @param type
/**
* Converts <code>typedef</code> to the generated TO builder.
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param typedef
/**
* Converts <code>typeDef</code> which should be of the type
* <code>BitsTypeDefinition</code> to <code>GeneratedTOBuilder</code>.
- *
+ *
* All the bits of the typeDef are added to returning generated TO as
* properties.
- *
+ *
* @param basePackageName
* string with name of package to which the module belongs
* @param typeDef
/**
* Converts the pattern constraints from <code>typedef</code> to the list of
* the strings which represents these constraints.
- *
+ *
* @param typedef
* extended type in which are the pattern constraints sought
* @return list of strings which represents the constraint patterns
* @throws IllegalArgumentException
* if <code>typedef</code> equals null
- *
+ *
*/
private List<String> resolveRegExpressionsFromTypedef(ExtendedType typedef) {
final List<String> regExps = new ArrayList<String>();
Preconditions.checkArgument(typedef != null, "typedef can't be null");
final TypeDefinition<?> strTypeDef = baseTypeDefForExtendedType(typedef);
if (strTypeDef instanceof StringType) {
- final List<PatternConstraint> patternConstraints = typedef.getPatterns();
+ final List<PatternConstraint> patternConstraints = typedef.getPatternConstraints();
if (!patternConstraints.isEmpty()) {
String regEx;
String modifiedRegEx;
}
/**
- *
+ *
* Adds to the <code>genTOBuilder</code> the constant which contains regular
* expressions from the <code>regularExpressions</code>
- *
+ *
* @param genTOBuilder
* generated TO builder to which are
* <code>regular expressions</code> added
* <code>innerExtendedType</code>, about the package name
* <code>typedefName</code> and about the generated TO name
* <code>typedefName</code>.
- *
+ *
* It is supposed that <code>innerExtendedType</code> is already present in
* {@link TypeProviderImpl#genTypeDefsContextMap genTypeDefsContextMap} to
* be possible set it as extended type for the returning generated TO.
- *
+ *
* @param innerExtendedType
* extended type which is part of some other extended type
* @param basePackageName
* equal depth. In next step are lists from this map concatenated to one
* list in ascending order according to their depth. All type definitions
* are in the list behind all type definitions on which depends.
- *
+ *
* @param unsortedTypeDefinitions
* list of type definitions which should be sorted by depth
* @return list of type definitions sorted according their each other
/**
* Returns how many immersion is necessary to get from the type definition
* to the base type.
- *
+ *
* @param typeDefinition
* type definition for which is depth sought.
* @return number of immersions which are necessary to get from the type
* definition to the base type
*/
private int getTypeDefinitionDepth(final TypeDefinition<?> typeDefinition) {
- Preconditions.checkArgument(typeDefinition != null, "Type definition can't be null");
+ if (typeDefinition == null) {
+ return 1;
+ }
int depth = 1;
TypeDefinition<?> baseType = typeDefinition.getBaseType();
* Returns string which contains the same value as <code>name</code> but
* integer suffix is incremented by one. If <code>name</code> contains no
* number suffix then number 1 is added.
- *
+ *
* @param name
* string with name of augmented node
* @return string with the number suffix incremented by one (or 1 is added)
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>binding-generator</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-generator</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>binding-generator</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-generator</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-api</artifactId>
- <version>0.5.7-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
<parent>
<artifactId>binding-generator</artifactId>
<groupId>org.opendaylight.yangtools</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
</parent>
<modelVersion>4.0.0</modelVersion>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<artifactId>binding-generator</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>${project.artifactId}</description>
<properties>
- <yang.version>0.5.7-SNAPSHOT</yang.version>
+ <yang.version>0.5.8-SNAPSHOT</yang.version>
</properties>
<modules>
<parent>
<artifactId>model-iana</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-iana</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-parent</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-ietf</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-ietf</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-ietf</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-ietf</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-parent</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>model-parent</artifactId>
<groupId>org.opendaylight.yangtools.model</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<modelVersion>4.0.0</modelVersion>
<groupId>org.opendaylight.yangtools.model</groupId>
<artifactId>model-parent</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>${project.artifactId}</description>
<properties>
- <yang.version>0.5.7-SNAPSHOT</yang.version>
+ <yang.version>0.5.8-SNAPSHOT</yang.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.bundle.version>2.4.0</maven.bundle.version>
</properties>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>maven-sal-api-gen-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
<slf4j.version>1.7.2</slf4j.version>\r
<nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>\r
- <yang.version>0.5.7-SNAPSHOT</yang.version>\r
+ <yang.version>0.5.8-SNAPSHOT</yang.version>\r
<maven.bundle.version>2.4.0</maven.bundle.version>\r
</properties>\r
\r
<modelVersion>4.0.0</modelVersion>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
<packaging>bundle</packaging>\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
<packaging>bundle</packaging>\r
\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<dependency>\r
<groupId>com.google.guava</groupId>\r
<artifactId>guava</artifactId>\r
- <version>14.0.1</version>\r
</dependency>\r
<dependency>\r
<groupId>junit</groupId>\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
<dependency>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>maven-sal-api-gen-plugin</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
<type>jar</type>\r
</dependency>\r
</dependencies>\r
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>generator-test1</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/../GenerateTest1/target/generator-test1-0.5-SNAPSHOT.jar</systemPath>
</dependency>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<parent>
<artifactId>binding-generator</artifactId>
<groupId>org.opendaylight.yangtools</groupId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<artifactId>test</artifactId>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin-spi</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
<executions>
<execution>
<goals>
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
*
* <dt>length
* <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LengthConstraint}
- * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition#getLengthStatements()}
+ * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition#getLengthConstraints()}
*
* <dt>list
* <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode}
*
* <dt>range
* <dd>{@link org.opendaylight.yangtools.yang.model.api.type.RangeConstraint}
- * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition#getRangeStatements()}
- * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition#getRangeStatements()}
+ * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition#getRangeConstraints()}
+ * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition#getRangeConstraints()}
*
* <dt>reference
* <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()}
* the <code>range</code> which is substatement of the
* <code>type</code> statement
*/
- List<RangeConstraint> getRangeStatements();
+ List<RangeConstraint> getRangeConstraints();
/**
* Returns integer between 1 and 18 inclusively. <br>
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-public interface EmptyTypeDefinition extends
- TypeDefinition<EmptyTypeDefinition> {
+public interface EmptyTypeDefinition extends TypeDefinition<EmptyTypeDefinition> {
}
* The Integer Built-In Types are defined in <a
* href="https://tools.ietf.org/html/rfc6020#section-9.2"> [RFC-6020]</a>
*/
-public interface IntegerTypeDefinition extends
- TypeDefinition<IntegerTypeDefinition> {
+public interface IntegerTypeDefinition extends TypeDefinition<IntegerTypeDefinition> {
/**
* Returns Range Constraints defined for given Integer Type.
*
* @return Range Constraints defined for given Integer Type.
*/
- List<RangeConstraint> getRangeStatements();
+ List<RangeConstraint> getRangeConstraints();
}
* <code>lenght</code> substatement of the <code>type</code>
* statement
*/
- List<LengthConstraint> getLengthStatements();
+ List<LengthConstraint> getLengthConstraints();
/**
* Returns patterns specified in the string.
* <code>pattern</code> substatement of the <code>type</code>
* statement
*/
- List<PatternConstraint> getPatterns();
+ List<PatternConstraint> getPatternConstraints();
}
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-public interface UnknownTypeDefinition extends
- TypeDefinition<UnknownTypeDefinition> {
+public interface UnknownTypeDefinition extends TypeDefinition<UnknownTypeDefinition> {
- List<RangeConstraint> getRangeStatements();
+ List<RangeConstraint> getRangeConstraints();
- List<LengthConstraint> getLengthStatements();
+ List<LengthConstraint> getLengthConstraints();
- List<PatternConstraint> getPatterns();
-
- LengthConstraint getLengthConstraint();
+ List<PatternConstraint> getPatternConstraints();
Integer getFractionDigits();
- boolean isReferenceOnly();
-
}
* @return list of <code>RangeConstraint</code> which represents the YANG
* <code>range</code> substatement arguments.
*/
- List<RangeConstraint> getRangeStatements();
+ List<RangeConstraint> getRangeConstraints();
}
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
* interface which represents SIGNED Integer values defined in Yang language. <br>
* The integer built-in types in Yang are int8, int16, int32, int64. They
* represent signed integers of different sizes:
- *
+ *
* <ul>
* <li>int8 - represents integer values between -128 and 127, inclusively.</li>
* <li>int16 - represents integer values between -32768 and 32767, inclusively.</li>
* <li>int64 - represents integer values between -9223372036854775808 and
* 9223372036854775807, inclusively.</li>
* </ul>
- *
+ *
*/
-public abstract class AbstractSignedInteger implements IntegerTypeDefinition {
+abstract class AbstractSignedInteger implements IntegerTypeDefinition {
private final QName name;
private final SchemaPath path;
private final String description;
"https://tools.ietf.org/html/rfc6020#section-9.2.4"));
}
+ @Override
+ public IntegerTypeDefinition getBaseType() {
+ return null;
+ }
+
@Override
public String getUnits() {
return units;
}
@Override
- public List<RangeConstraint> getRangeStatements() {
+ public List<RangeConstraint> getRangeConstraints() {
return rangeStatements;
}
* interface which represents UNSIGNED Integer values defined in Yang language. <br>
* The integer built-in types in Yang are uint8, uint16, uint32, and uint64.
* They represent unsigned integers of different sizes:
- *
+ *
* <ul>
* <li>uint8 - represents integer values between 0 and 255, inclusively.</li>
* <li>uint16 - represents integer values between 0 and 65535, inclusively.</li>
* <li>uint64 - represents integer values between 0 and 18446744073709551615,
* inclusively.</li>
* </ul>
- *
+ *
*/
-public abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefinition {
+abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefinition {
private static final long MIN_VALUE = 0;
private final QName name;
private final SchemaPath path;
private final List<RangeConstraint> rangeStatements;
/**
- *
+ *
* @param name
* @param description
* @param maxRange
"https://tools.ietf.org/html/rfc6020#section-9.2.4"));
}
+ @Override
+ public UnsignedIntegerTypeDefinition getBaseType() {
+ return null;
+ }
+
@Override
public String getUnits() {
return units;
}
@Override
- public List<RangeConstraint> getRangeStatements() {
+ public List<RangeConstraint> getRangeConstraints() {
return rangeStatements;
}
/**
* The <code>default</code> implementation of Binary Type Definition interface.
- *
+ *
* @see BinaryTypeDefinition
*/
public final class BinaryType implements BinaryTypeDefinition {
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public BinaryTypeDefinition getBaseType() {
- return this;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.base.type.api.BinaryTypeDefinition
* #getLengthConstraint ()
/**
* The <code>default</code> implementation of Bits Type Definition interface.
- *
+ *
* @see BitsTypeDefinition
*/
public final class BitsType implements BitsTypeDefinition {
+ "numbers starting at 0. Each bit number has an assigned name.";
private static final String REFERENCE = "https://tools.ietf.org/html/rfc6020#section-9.7";
- private final BitsTypeDefinition baseType;
private final List<Bit> bits;
private static final String UNITS = "";
/**
* Default constructor. <br>
* Instantiates Bits type as empty bits list.
- *
+ *
* @param path
*/
public BitsType(final SchemaPath path) {
super();
this.bits = Collections.emptyList();
this.path = path;
- this.baseType = this;
}
/**
* Constructor with explicit definition of bits assigned to BitsType.
- *
+ *
* @param path
* @param bits
*/
super();
this.bits = Collections.unmodifiableList(bits);
this.path = path;
- this.baseType = this;
}
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public BitsTypeDefinition getBaseType() {
- return baseType;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/**
* The <code>default</code> implementation of Boolean Type Definition interface.
- *
+ *
* @see BooleanTypeDefinition
*/
public final class BooleanType implements BooleanTypeDefinition {
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public BooleanTypeDefinition getBaseType() {
- return this;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/**
* The <code>default</code> implementation of Decimal Type Definition interface.
- *
- *
+ *
+ *
* @see DecimalTypeDefinition
*/
public final class Decimal64 implements DecimalTypeDefinition {
private final List<RangeConstraint> rangeStatements;
private final Integer fractionDigits;
- private final DecimalTypeDefinition baseType;
private static final int MAX_NUMBER_OF_FRACTION_DIGITS = 18;
/**
* {@link DecimalTypeDefinition} <br>
* If the fraction digits are not defined inner the definition boundaries
* the constructor will throw {@link IllegalArgumentException}
- *
+ *
* @param path
* @param fractionDigits
* integer between 1 and 18 inclusively
- *
+ *
* @see DecimalTypeDefinition
* @exception IllegalArgumentException
*/
this.fractionDigits = fractionDigits;
rangeStatements = defaultRangeStatements();
this.path = path;
- this.baseType = this;
}
/**
* Returns unmodifiable List with default definition of Range Statements.
- *
+ *
* @return unmodifiable List with default definition of Range Statements.
*/
private List<RangeConstraint> defaultRangeStatements() {
@Override
public DecimalTypeDefinition getBaseType() {
- return baseType;
+ return null;
}
@Override
}
@Override
- public List<RangeConstraint> getRangeStatements() {
+ public List<RangeConstraint> getRangeConstraints() {
return rangeStatements;
}
@Override
public EmptyTypeDefinition getBaseType() {
- return this;
+ return null;
}
@Override
/**
* The <code>default</code> implementation of Enumertaion Type Definition
* interface.
- *
+ *
* @see EnumTypeDefinition
*/
public final class EnumerationType implements EnumTypeDefinition {
private final EnumPair defaultEnum;
private final List<EnumPair> enums;
private static final String UNITS = "";
- private final EnumTypeDefinition baseType;
public EnumerationType(final SchemaPath path, final List<EnumPair> enums) {
super();
this.path = path;
this.enums = Collections.unmodifiableList(enums);
this.defaultEnum = null;
- this.baseType = this;
}
public EnumerationType(final SchemaPath path, final EnumPair defaultEnum, final List<EnumPair> enums) {
super();
this.path = path;
- this.baseType = this;
this.defaultEnum = defaultEnum;
this.enums = Collections.unmodifiableList(enums);
}
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public EnumTypeDefinition getBaseType() {
- return baseType;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.base.type.api.EnumTypeDefinition
* #getValues()
return builder.toString();
}
- public List<RangeConstraint> getRanges() {
+ public List<RangeConstraint> getRangeConstraints() {
return ranges;
}
- public List<LengthConstraint> getLengths() {
+ public List<LengthConstraint> getLengthConstraints() {
return lengths;
}
- public List<PatternConstraint> getPatterns() {
+ public List<PatternConstraint> getPatternConstraints() {
return patterns;
}
/**
* The <code>default</code> implementation of Identityref Type Definition
* interface.
- *
+ *
* @see IdentityrefTypeDefinition
*/
public final class IdentityrefType implements IdentityrefTypeDefinition {
private final SchemaPath path;
private static final String DESCRIPTION = "The identityref type is used to reference an existing identity.";
private static final String REFERENCE = "https://tools.ietf.org/html/rfc6020#section-9.10";
- private final IdentityrefTypeDefinition baseType;
private final QName identity;
private static final String UNITS = "";
public IdentityrefType(QName identity, SchemaPath schemaPath) {
this.identity = identity;
this.path = schemaPath;
- this.baseType = this;
}
@Override
@Override
public IdentityrefTypeDefinition getBaseType() {
- return baseType;
+ return null;
}
@Override
/**
* The <code>default</code> implementation of Instance Identifier Type
* Definition interface.
- *
+ *
* @see InstanceIdentifierTypeDefinition
*/
public final class InstanceIdentifier implements InstanceIdentifierTypeDefinition {
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public InstanceIdentifierTypeDefinition getBaseType() {
- return this;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getExtensionSchemaNodes
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.type.
* InstanceIdentifierTypeDefinition# getPathStatement()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.type.
* InstanceIdentifierTypeDefinition# requireInstance()
*/
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
/**
* Implementation of Yang int16 built-in type. <br>
* int16 represents integer values between -32768 and 32767, inclusively. The
* Java counterpart of Yang int16 built-in type is {@link Short}.
- *
+ *
* @see AbstractSignedInteger
*/
public final class Int16 extends AbstractSignedInteger {
return instance;
}
- @Override
- public IntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
/**
* Implementation of Yang int32 built-in type. <br>
* int32 represents integer values between -2147483648 and 2147483647,
* inclusively. The Java counterpart of Yang int32 built-in type is
* {@link Integer}.
- *
+ *
* @see AbstractSignedInteger
- *
+ *
*/
public final class Int32 extends AbstractSignedInteger {
private static Int32 instance;
return instance;
}
- @Override
- public IntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
/**
* Implementation of Yang int64 built-in type. <br>
* int64 represents integer values between -9223372036854775808 and
* 9223372036854775807, inclusively. The Java counterpart of Yang int64 built-in
* type is {@link Long}.
- *
+ *
*/
public final class Int64 extends AbstractSignedInteger {
private static Int64 instance;
return instance;
}
- @Override
- public IntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
/**
* Implementation of Yang int8 built-in type. <br>
* int8 represents integer values between -128 and 127, inclusively. The Java
* counterpart of Yang int8 built-in type is {@link Byte}.
- *
+ *
* @see AbstractSignedInteger
*/
public final class Int8 extends AbstractSignedInteger {
return instance;
}
- @Override
- public IntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
@Override
public LeafrefTypeDefinition getBaseType() {
- return this;
+ return null;
}
@Override
/**
* The <code>default</code> implementation of String Type Definition interface.
- *
+ *
* @see StringTypeDefinition
*/
public final class StringType implements StringTypeDefinition {
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
@Override
public StringTypeDefinition getBaseType() {
- return this;
+ return null;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* com.csico.yang.model.base.type.api.StringTypeDefinition#getLengthStatements
* ()
*/
@Override
- public List<LengthConstraint> getLengthStatements() {
+ public List<LengthConstraint> getLengthConstraints() {
return lengthStatements;
}
/*
* (non-Javadoc)
- *
+ *
* @see
* com.csico.yang.model.base.type.api.StringTypeDefinition#getPatterns()
*/
@Override
- public List<PatternConstraint> getPatterns() {
+ public List<PatternConstraint> getPatternConstraints() {
return patterns;
}
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
/**
* Implementation of Yang uint16 built-in type. <br>
* uint16 represents integer values between 0 and 65535, inclusively. The Java
* counterpart of Yang uint16 built-in type is {@link Integer}.
- *
+ *
*/
public final class Uint16 extends AbstractUnsignedInteger {
public static final int MAX_VALUE = 65535;
return instance;
}
- @Override
- public UnsignedIntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
/**
* Implementation of Yang uint32 built-in type. <br>
* uint32 represents integer values between 0 and 4294967295, inclusively.
- *
+ *
*/
public final class Uint32 extends AbstractUnsignedInteger {
public static final long MAX_VALUE = 4294967295L;
return instance;
}
- @Override
- public UnsignedIntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
import java.math.BigInteger;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
/**
* Implementation of Yang uint64 built-in type. <br>
* uint64 represents integer values between 0 and 18446744073709551615,
* inclusively. The Java counterpart of Yang uint64 built-in type is
* {@link BigInteger}.
- *
+ *
*/
public final class Uint64 extends AbstractUnsignedInteger {
public static final BigInteger MAX_VALUE = new BigInteger("18446744073709551615");
return instance;
}
- @Override
- public UnsignedIntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
package org.opendaylight.yangtools.yang.model.util;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
/**
* Implementation of Yang uint8 built-in type. <br>
* uint8 represents integer values between 0 and 255, inclusively.
- *
+ *
* @see AbstractUnsignedInteger
*/
public final class Uint8 extends AbstractUnsignedInteger {
return instance;
}
- @Override
- public UnsignedIntegerTypeDefinition getBaseType() {
- return this;
- }
-
@Override
public Object getDefaultValue() {
return null;
@Override
public UnionTypeDefinition getBaseType() {
- return this;
+ return null;
}
@Override
private final SchemaPath path;
private final String description;
private final String reference;
- private final boolean referenceOnly;
private final List<LengthConstraint> lengthStatements;
private final List<PatternConstraint> patterns;
private final List<RangeConstraint> rangeStatements;
private Status status = Status.CURRENT;
private String units = "";
private Object defaultValue = null;
- private boolean referenceOnly = false;
public Builder(final QName name, final String description, final String reference) {
this.name = name;
public UnknownTypeDefinition build() {
return new UnknownType(this);
}
-
- public void setReferenceOnly(boolean b) {
- this.referenceOnly = b;
-
- }
}
private UnknownType(Builder builder) {
- this.referenceOnly = builder.referenceOnly;
this.name = builder.name;
this.path = builder.path;
this.description = builder.description;
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getBaseType()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getQName()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getPath()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()
*/
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()
*/
@Override
/*
* (non-Javadoc)
- *
+ *
* @see
* org.opendaylight.yangtools.yang.model.api.SchemaNode#getExtensionSchemaNodes
* ()
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition
* #getRangeStatements()
*/
@Override
- public List<RangeConstraint> getRangeStatements() {
+ public List<RangeConstraint> getRangeConstraints() {
return rangeStatements;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition
* #getLengthStatements()
*/
@Override
- public List<LengthConstraint> getLengthStatements() {
+ public List<LengthConstraint> getLengthConstraints() {
return lengthStatements;
}
/*
* (non-Javadoc)
- *
+ *
* @see org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition
* #getPatterns()
*/
@Override
- public List<PatternConstraint> getPatterns() {
+ public List<PatternConstraint> getPatternConstraints() {
return patterns;
}
- /*
- * (non-Javadoc)
- *
- * @see org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition
- * #getLengthConstraint()
- */
- @Override
- public LengthConstraint getLengthConstraint() {
- return lengthConstraint;
- }
-
@Override
public Integer getFractionDigits() {
return fractionDigits;
}
- @Override
- public boolean isReferenceOnly() {
- return referenceOnly;
- }
-
@Override
public int hashCode() {
final int prime = 31;
package org.opendaylight.yangtools.yang.model.util;
import static org.junit.Assert.*;
+
import org.junit.Test;
public class Int8Test {
Int8 int8 = Int8.getInstance();
Int8 int8Second = Int8.getInstance();
assertTrue("The method 'getInstance()' has to return the same instance", int8 == int8Second);
- assertTrue("The method 'getBaseType()' is returning incorrect value", int8.getBaseType() == int8);
+ assertTrue("The method 'getBaseType()' is returning incorrect value", int8.getBaseType() == null);
assertTrue("The method 'getDefaultType()' is returning incorrect value", int8.getDefaultValue() == null);
assertEquals("The method 'toString()' is returning incorrect value",
"type (urn:ietf:params:xml:ns:yang:1)int8", int8.toString());
<parent>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang</artifactId>
- <version>0.5.7-SNAPSHOT</version>
+ <version>0.5.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>\r
<groupId>org.opendaylight.yangtools</groupId>\r
<artifactId>yang</artifactId>\r
- <version>0.5.7-SNAPSHOT</version>\r
+ <version>0.5.8-SNAPSHOT</version>\r
</parent>\r
\r
<modelVersion>4.0.0</modelVersion>\r
builder.setDescription(typedef.getDescription());
builder.setReference(typedef.getReference());
builder.setStatus(typedef.getStatus());
- builder.setRanges(typedef.getRanges());
- builder.setLengths(typedef.getLengths());
- builder.setPatterns(typedef.getPatterns());
+ builder.setRanges(typedef.getRangeConstraints());
+ builder.setLengths(typedef.getLengthConstraints());
+ builder.setPatterns(typedef.getPatternConstraints());
builder.setFractionDigits(typedef.getFractionDigits());
final TypeDefinition<?> type = typedef.getBaseType();
builder.setType(type);
/**
* Parse given tree and get first string value.
- *
+ *
* @param treeNode
* tree to parse
* @return first string value from given tree
/**
* Parse 'description', 'reference' and 'status' statements and fill in
* given builder.
- *
+ *
* @param ctx
* context to parse
* @param builder
/**
* Parse given context and return its value;
- *
+ *
* @param ctx
* status context
* @return value parsed from context
/**
* Parse given tree and returns units statement as string.
- *
+ *
* @param ctx
* context to parse
* @return value of units statement as string or null if there is no units
/**
* Parse given tree and returns default statement as string.
- *
+ *
* @param ctx
* context to parse
* @return value of default statement as string or null if there is no
/**
* Create SchemaPath from actualPath and new node name.
- *
+ *
* @param actualPath
* current position in model
* @return SchemaPath object
/**
* Create java.util.List of QName objects from given key definition as
* string.
- *
+ *
* @param keyDefinition
* key definition as string
* @param namespace
/**
* Parse given type body of enumeration statement.
- *
+ *
* @param ctx
* type body context to parse
* @param path
/**
* Parse enum statement context
- *
+ *
* @param ctx
* enum statement context
* @param highestValue
/**
* Get and parse range from given type body context.
- *
+ *
* @param ctx
* type body context to parse
* @param moduleName
/**
* Parse given range context.
- *
+ *
* @param ctx
* range context to parse
* @param moduleName
/**
* Get and parse length from given type body context.
- *
+ *
* @param ctx
* type body context to parse
* @param moduleName
/**
* Parse given length context.
- *
+ *
* @param ctx
* length context to parse
* @param moduleName
/**
* Parse type body and return pattern constraints.
- *
+ *
* @param ctx
* type body
* @return list of pattern constraints
/**
* Internal helper method.
- *
+ *
* @param ctx
* pattern context
* @return PatternConstraint object
/**
* Parse given context and return pattern value.
- *
+ *
* @param ctx
* context to parse
* @return pattern value as String
/**
* Get fraction digits value from type body.
- *
+ *
* @param ctx
* type body context to parse
* @param moduleName
/**
* Parse decimal64 fraction-digits value.
- *
+ *
* @param ctx
* decimal64 context
* @param moduleName
/**
* Internal helper method for parsing bit statements from given type body
* context.
- *
+ *
* @param ctx
* type body context to parse
* @param actualPath
/**
* Internal helper method for parsing bit context.
- *
+ *
* @param ctx
* bit statement context to parse
* @param highestPosition
/**
* Parse 'ordered-by' statement.
- *
+ *
* The 'ordered-by' statement defines whether the order of entries within a
* list are determined by the user or the system. The argument is one of the
* strings "system" or "user". If not present, order defaults to "system".
- *
+ *
* @param ctx
* Ordered_by_stmtContext
* @return true, if ordered-by contains value 'user', false otherwise
/**
* Get config statement from given context. If there is no config statement,
* return config value of parent
- *
+ *
* @param ctx
* context to parse
* @param parent
/**
* Parse config statement.
- *
+ *
* @param ctx
* config context to parse
* @param moduleName
/**
* Parse type body and create UnknownType definition.
- *
+ *
* @param typedefQName
* qname of current type
* @param ctx
return result;
}
- } else {
- unknownType.setReferenceOnly(true);
}
return unknownType.build();
/**
* Create TypeDefinition object based on given type name and type body.
- *
+ *
* @param typeName
* name of type
* @param typeBody
}
}
Decimal64 decimalType = new Decimal64(extBaseTypePath, fractionDigits);
- constraints.addRanges(decimalType.getRangeStatements());
+ constraints.addRanges(decimalType.getRangeConstraints());
baseType = decimalType;
} else if (typeName.startsWith("int")) {
IntegerTypeDefinition intType = null;
if (intType == null) {
throw new YangParseException(moduleName, line, "Unknown yang type " + typeName);
}
- constraints.addRanges(intType.getRangeStatements());
+ constraints.addRanges(intType.getRangeConstraints());
baseType = intType;
} else if (typeName.startsWith("uint")) {
UnsignedIntegerTypeDefinition uintType = null;
if (uintType == null) {
throw new YangParseException(moduleName, line, "Unknown yang type " + typeName);
}
- constraints.addRanges(uintType.getRangeStatements());
+ constraints.addRanges(uintType.getRangeConstraints());
baseType = uintType;
} else if ("enumeration".equals(typeName)) {
List<EnumTypeDefinition.EnumPair> enumConstants = getEnumConstants(typeBody, actualPath, moduleName);
return new EnumerationType(baseTypePath, enumConstants);
} else if ("string".equals(typeName)) {
StringTypeDefinition stringType = StringType.getIntance();
- constraints.addLengths(stringType.getLengthStatements());
+ constraints.addLengths(stringType.getLengthConstraints());
baseType = stringType;
} else if ("bits".equals(typeName)) {
return new BitsType(baseTypePath, getBits(typeBody, actualPath, moduleName));
/**
* Parse given context and find identityref base value.
- *
+ *
* @param ctx
* type body
* @return identityref base value as String
/**
* Parse type body statement and find require-instance value.
- *
+ *
* @param ctx
* type body context
* @return require-instance value
/**
* Parse type body statement and find leafref path.
- *
+ *
* @param ctx
* type body context
* @return leafref path as String
/**
* Internal helper method for parsing must statement.
- *
+ *
* @param ctx
* Must_stmtContext
* @return MustDefinition object based on parsed context
/**
* Parse given context and set constraints to constraints builder.
- *
+ *
* @param ctx
* context to parse
* @param constraints
/**
* Parse given context and return yin value.
- *
+ *
* @param ctx
* context to parse
* @return true if value is 'true', false otherwise
/**
* Check this base type.
- *
+ *
* @param typeName
* base YANG type name
* @param moduleName
/**
* Parse refine statement.
- *
+ *
* @param refineCtx
* refine statement
* @param moduleName
*/
private static TypeConstraints mergeConstraints(final TypeDefinition<?> type, final TypeConstraints constraints) {
if (type instanceof DecimalTypeDefinition) {
- constraints.addRanges(((DecimalTypeDefinition) type).getRangeStatements());
+ constraints.addRanges(((DecimalTypeDefinition) type).getRangeConstraints());
constraints.addFractionDigits(((DecimalTypeDefinition) type).getFractionDigits());
} else if (type instanceof IntegerTypeDefinition) {
- constraints.addRanges(((IntegerTypeDefinition) type).getRangeStatements());
+ constraints.addRanges(((IntegerTypeDefinition) type).getRangeConstraints());
} else if (type instanceof StringTypeDefinition) {
- constraints.addPatterns(((StringTypeDefinition) type).getPatterns());
- constraints.addLengths(((StringTypeDefinition) type).getLengthStatements());
+ constraints.addPatterns(((StringTypeDefinition) type).getPatternConstraints());
+ constraints.addLengths(((StringTypeDefinition) type).getLengthConstraints());
} else if (type instanceof BinaryTypeDefinition) {
constraints.addLengths(((BinaryTypeDefinition) type).getLengthConstraints());
} else if (type instanceof ExtendedType) {
constraints.addFractionDigits(((ExtendedType) type).getFractionDigits());
- constraints.addLengths(((ExtendedType) type).getLengths());
- constraints.addPatterns(((ExtendedType) type).getPatterns());
- constraints.addRanges(((ExtendedType) type).getRanges());
+ constraints.addLengths(((ExtendedType) type).getLengthConstraints());
+ constraints.addPatterns(((ExtendedType) type).getPatternConstraints());
+ constraints.addRanges(((ExtendedType) type).getRangeConstraints());
}
return constraints;
}
TypeConstraints constraints = null;
if (newBaseType == null) {
tc.addFractionDigits(oldExtendedType.getFractionDigits());
- tc.addLengths(oldExtendedType.getLengths());
- tc.addPatterns(oldExtendedType.getPatterns());
- tc.addRanges(oldExtendedType.getRanges());
+ tc.addLengths(oldExtendedType.getLengthConstraints());
+ tc.addPatterns(oldExtendedType.getPatternConstraints());
+ tc.addRanges(oldExtendedType.getRangeConstraints());
constraints = findConstraintsFromTypeBuilder(newBaseTypeBuilder, tc, modules, module, null);
newType.setTypedef(newBaseTypeBuilder);
} else {
if (typeToResolve instanceof ExtendedType) {
ExtendedType extType = (ExtendedType) typeToResolve;
constraints.addFractionDigits(extType.getFractionDigits());
- constraints.addLengths(extType.getLengths());
- constraints.addPatterns(extType.getPatterns());
- constraints.addRanges(extType.getRanges());
+ constraints.addLengths(extType.getLengthConstraints());
+ constraints.addPatterns(extType.getPatternConstraints());
+ constraints.addRanges(extType.getRangeConstraints());
return findConstraintsFromTypeDefinition(extType.getBaseType(), constraints);
} else {
mergeConstraints(typeToResolve, constraints);
assertTrue(ipv4.getBaseType() instanceof StringTypeDefinition);
String expectedPattern = "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}"
+ "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" + "(%[\\p{N}\\p{L}]+)?";
- assertEquals(expectedPattern, ipv4.getPatterns().get(0).getRegularExpression());
+ assertEquals(expectedPattern, ipv4.getPatternConstraints().get(0).getRegularExpression());
ExtendedType ipv6 = (ExtendedType) unionTypes.get(1);
assertTrue(ipv6.getBaseType() instanceof StringTypeDefinition);
- List<PatternConstraint> ipv6Patterns = ipv6.getPatterns();
+ List<PatternConstraint> ipv6Patterns = ipv6.getPatternConstraints();
expectedPattern = "((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}"
+ "((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|" + "(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}"
+ "(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))" + "(%[\\p{N}\\p{L}]+)?";
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
ExtendedType type = (ExtendedType) TestUtils.findTypedef(typedefs, "domain-name");
assertTrue(type.getBaseType() instanceof StringTypeDefinition);
- List<PatternConstraint> patterns = type.getPatterns();
+ List<PatternConstraint> patterns = type.getPatternConstraints();
assertEquals(1, patterns.size());
String expectedPattern = "((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*"
+ "([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)" + "|\\.";
assertEquals(expectedPattern, patterns.get(0).getRegularExpression());
- List<LengthConstraint> lengths = type.getLengths();
+ List<LengthConstraint> lengths = type.getLengthConstraints();
assertEquals(1, lengths.size());
- LengthConstraint length = type.getLengths().get(0);
+ LengthConstraint length = type.getLengthConstraints().get(0);
assertEquals(1L, length.getMin());
assertEquals(253L, length.getMax());
}
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
ExtendedType testedType = (ExtendedType) TestUtils.findTypedef(typedefs, "object-identifier-128");
- List<PatternConstraint> patterns = testedType.getPatterns();
+ List<PatternConstraint> patterns = testedType.getPatternConstraints();
assertEquals(1, patterns.size());
PatternConstraint pattern = patterns.get(0);
assertEquals("\\d*(\\.\\d*){1,127}", pattern.getRegularExpression());
assertEquals("object-identifier-128", testedTypeQName.getLocalName());
ExtendedType testedTypeBase = (ExtendedType) testedType.getBaseType();
- patterns = testedTypeBase.getPatterns();
+ patterns = testedTypeBase.getPatternConstraints();
assertEquals(1, patterns.size());
pattern = patterns.get(0);
assertEquals(nodesRev, leafTypeQName.getRevision());
assertNull(leafType.getUnits());
assertNull(leafType.getDefaultValue());
- assertTrue(leafType.getLengths().isEmpty());
- assertTrue(leafType.getPatterns().isEmpty());
- List<RangeConstraint> ranges = leafType.getRanges();
+ assertTrue(leafType.getLengthConstraints().isEmpty());
+ assertTrue(leafType.getPatternConstraints().isEmpty());
+ List<RangeConstraint> ranges = leafType.getRangeConstraints();
assertEquals(1, ranges.size());
RangeConstraint range = ranges.get(0);
assertEquals(12L, range.getMin());
assertEquals(typesRev, baseTypeQName.getRevision());
assertEquals("mile", baseType.getUnits());
assertEquals("11", baseType.getDefaultValue());
- assertTrue(leafType.getLengths().isEmpty());
- assertTrue(leafType.getPatterns().isEmpty());
- List<RangeConstraint> baseTypeRanges = baseType.getRanges();
+ assertTrue(leafType.getLengthConstraints().isEmpty());
+ assertTrue(leafType.getPatternConstraints().isEmpty());
+ List<RangeConstraint> baseTypeRanges = baseType.getRangeConstraints();
assertEquals(2, baseTypeRanges.size());
RangeConstraint baseTypeRange1 = baseTypeRanges.get(0);
assertEquals(3L, baseTypeRange1.getMin());
assertEquals(typesRev, baseQName.getRevision());
assertNull(base.getUnits());
assertNull(base.getDefaultValue());
- assertTrue(leafType.getLengths().isEmpty());
- assertTrue(leafType.getPatterns().isEmpty());
- List<RangeConstraint> baseRanges = base.getRanges();
+ assertTrue(leafType.getLengthConstraints().isEmpty());
+ assertTrue(leafType.getPatternConstraints().isEmpty());
+ List<RangeConstraint> baseRanges = base.getRangeConstraints();
assertEquals(1, baseRanges.size());
RangeConstraint baseRange = baseRanges.get(0);
assertEquals(2L, baseRange.getMin());
assertEquals(typesRev, typeQName.getRevision());
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
- List<PatternConstraint> patterns = type.getPatterns();
+ List<PatternConstraint> patterns = type.getPatternConstraints();
assertEquals(1, patterns.size());
PatternConstraint pattern = patterns.iterator().next();
assertEquals("[e-z]*", pattern.getRegularExpression());
- assertTrue(type.getLengths().isEmpty());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getLengthConstraints().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
ExtendedType baseType1 = (ExtendedType) type.getBaseType();
QName baseType1QName = baseType1.getQName();
assertEquals(typesRev, baseType1QName.getRevision());
assertNull(baseType1.getUnits());
assertNull(baseType1.getDefaultValue());
- patterns = baseType1.getPatterns();
+ patterns = baseType1.getPatternConstraints();
assertEquals(1, patterns.size());
pattern = patterns.iterator().next();
assertEquals("[b-u]*", pattern.getRegularExpression());
- assertTrue(baseType1.getLengths().isEmpty());
- assertTrue(baseType1.getRanges().isEmpty());
+ assertTrue(baseType1.getLengthConstraints().isEmpty());
+ assertTrue(baseType1.getRangeConstraints().isEmpty());
ExtendedType baseType2 = (ExtendedType) baseType1.getBaseType();
QName baseType2QName = baseType2.getQName();
assertEquals(typesRev, baseType2QName.getRevision());
assertNull(baseType2.getUnits());
assertNull(baseType2.getDefaultValue());
- assertTrue(baseType2.getPatterns().isEmpty());
- List<LengthConstraint> baseType2Lengths = baseType2.getLengths();
+ assertTrue(baseType2.getPatternConstraints().isEmpty());
+ List<LengthConstraint> baseType2Lengths = baseType2.getLengthConstraints();
assertEquals(1, baseType2Lengths.size());
LengthConstraint length = baseType2Lengths.get(0);
assertEquals(6L, length.getMin());
assertEquals(10L, length.getMax());
- assertTrue(baseType2.getRanges().isEmpty());
+ assertTrue(baseType2.getRangeConstraints().isEmpty());
ExtendedType baseType3 = (ExtendedType) baseType2.getBaseType();
QName baseType3QName = baseType3.getQName();
assertEquals(typesRev, baseType3QName.getRevision());
assertNull(baseType3.getUnits());
assertNull(baseType3.getDefaultValue());
- patterns = baseType3.getPatterns();
+ patterns = baseType3.getPatternConstraints();
assertEquals(1, patterns.size());
pattern = patterns.iterator().next();
assertEquals("[a-k]*", pattern.getRegularExpression());
- List<LengthConstraint> baseType3Lengths = baseType3.getLengths();
+ List<LengthConstraint> baseType3Lengths = baseType3.getLengthConstraints();
assertEquals(1, baseType3Lengths.size());
length = baseType3Lengths.get(0);
assertEquals(5L, length.getMin());
assertEquals(11L, length.getMax());
- assertTrue(baseType3.getRanges().isEmpty());
+ assertTrue(baseType3.getRangeConstraints().isEmpty());
assertTrue(baseType3.getBaseType() instanceof StringType);
}
assertEquals(nodesRev, typeQName.getRevision());
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
- assertTrue(type.getPatterns().isEmpty());
- List<LengthConstraint> typeLengths = type.getLengths();
+ assertTrue(type.getPatternConstraints().isEmpty());
+ List<LengthConstraint> typeLengths = type.getLengthConstraints();
assertEquals(1, typeLengths.size());
LengthConstraint length = typeLengths.get(0);
assertEquals(7L, length.getMin());
assertEquals(10L, length.getMax());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
ExtendedType baseType1 = (ExtendedType) type.getBaseType();
QName baseType1QName = baseType1.getQName();
assertEquals(typesRev, baseType1QName.getRevision());
assertNull(baseType1.getUnits());
assertNull(baseType1.getDefaultValue());
- assertTrue(baseType1.getPatterns().isEmpty());
- List<LengthConstraint> baseType2Lengths = baseType1.getLengths();
+ assertTrue(baseType1.getPatternConstraints().isEmpty());
+ List<LengthConstraint> baseType2Lengths = baseType1.getLengthConstraints();
assertEquals(1, baseType2Lengths.size());
length = baseType2Lengths.get(0);
assertEquals(6L, length.getMin());
assertEquals(10L, length.getMax());
- assertTrue(baseType1.getRanges().isEmpty());
+ assertTrue(baseType1.getRangeConstraints().isEmpty());
ExtendedType baseType2 = (ExtendedType) baseType1.getBaseType();
QName baseType2QName = baseType2.getQName();
assertEquals(typesRev, baseType2QName.getRevision());
assertNull(baseType2.getUnits());
assertNull(baseType2.getDefaultValue());
- List<PatternConstraint> patterns = baseType2.getPatterns();
+ List<PatternConstraint> patterns = baseType2.getPatternConstraints();
assertEquals(1, patterns.size());
PatternConstraint pattern = patterns.iterator().next();
assertEquals("[a-k]*", pattern.getRegularExpression());
- List<LengthConstraint> baseType3Lengths = baseType2.getLengths();
+ List<LengthConstraint> baseType3Lengths = baseType2.getLengthConstraints();
assertEquals(1, baseType3Lengths.size());
length = baseType3Lengths.get(0);
assertEquals(5L, length.getMin());
assertEquals(11L, length.getMax());
- assertTrue(baseType2.getRanges().isEmpty());
+ assertTrue(baseType2.getRangeConstraints().isEmpty());
assertTrue(baseType2.getBaseType() instanceof StringType);
}
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
assertEquals(4, (int) type.getFractionDigits());
- assertTrue(type.getLengths().isEmpty());
- assertTrue(type.getPatterns().isEmpty());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getLengthConstraints().isEmpty());
+ assertTrue(type.getPatternConstraints().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
ExtendedType typeBase = (ExtendedType) type.getBaseType();
QName typeBaseQName = typeBase.getQName();
assertNull(typeBase.getUnits());
assertNull(typeBase.getDefaultValue());
assertNull(typeBase.getFractionDigits());
- assertTrue(typeBase.getLengths().isEmpty());
- assertTrue(typeBase.getPatterns().isEmpty());
- assertTrue(typeBase.getRanges().isEmpty());
+ assertTrue(typeBase.getLengthConstraints().isEmpty());
+ assertTrue(typeBase.getPatternConstraints().isEmpty());
+ assertTrue(typeBase.getRangeConstraints().isEmpty());
Decimal64 decimal = (Decimal64) typeBase.getBaseType();
assertEquals(6, (int) decimal.getFractionDigits());
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
assertNull(type.getFractionDigits());
- assertTrue(type.getLengths().isEmpty());
- assertTrue(type.getPatterns().isEmpty());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getLengthConstraints().isEmpty());
+ assertTrue(type.getPatternConstraints().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
Decimal64 baseTypeDecimal = (Decimal64) type.getBaseType();
assertEquals(6, (int) baseTypeDecimal.getFractionDigits());
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
assertNull(type.getFractionDigits());
- assertTrue(type.getLengths().isEmpty());
- assertTrue(type.getPatterns().isEmpty());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getLengthConstraints().isEmpty());
+ assertTrue(type.getPatternConstraints().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
ExtendedType baseType = (ExtendedType) type.getBaseType();
QName baseTypeQName = baseType.getQName();
assertNull(baseType.getUnits());
assertNull(baseType.getDefaultValue());
assertNull(baseType.getFractionDigits());
- assertTrue(baseType.getLengths().isEmpty());
- assertTrue(baseType.getPatterns().isEmpty());
- assertTrue(baseType.getRanges().isEmpty());
+ assertTrue(baseType.getLengthConstraints().isEmpty());
+ assertTrue(baseType.getPatternConstraints().isEmpty());
+ assertTrue(baseType.getRangeConstraints().isEmpty());
UnionType unionType = (UnionType) baseType.getBaseType();
List<TypeDefinition<?>> unionTypes = unionType.getTypes();
assertNull(unionType1.getUnits());
assertNull(unionType1.getDefaultValue());
assertNull(unionType1.getFractionDigits());
- assertTrue(unionType1.getLengths().isEmpty());
- assertTrue(unionType1.getPatterns().isEmpty());
- List<RangeConstraint> ranges = unionType1.getRanges();
+ assertTrue(unionType1.getLengthConstraints().isEmpty());
+ assertTrue(unionType1.getPatternConstraints().isEmpty());
+ List<RangeConstraint> ranges = unionType1.getRangeConstraints();
assertEquals(1, ranges.size());
RangeConstraint range = ranges.get(0);
assertEquals(1L, range.getMin());
assertNull(type.getUnits());
assertNull(type.getDefaultValue());
assertNull(type.getFractionDigits());
- assertTrue(type.getLengths().isEmpty());
- assertTrue(type.getPatterns().isEmpty());
- assertTrue(type.getRanges().isEmpty());
+ assertTrue(type.getLengthConstraints().isEmpty());
+ assertTrue(type.getPatternConstraints().isEmpty());
+ assertTrue(type.getRangeConstraints().isEmpty());
ExtendedType typeBase = (ExtendedType) type.getBaseType();
QName typeBaseQName = typeBase.getQName();
assertNull(typeBase.getUnits());
assertNull(typeBase.getDefaultValue());
assertNull(typeBase.getFractionDigits());
- assertTrue(typeBase.getLengths().isEmpty());
- assertTrue(typeBase.getPatterns().isEmpty());
- assertTrue(typeBase.getRanges().isEmpty());
+ assertTrue(typeBase.getLengthConstraints().isEmpty());
+ assertTrue(typeBase.getPatternConstraints().isEmpty());
+ assertTrue(typeBase.getRangeConstraints().isEmpty());
UnionType union = (UnionType) typeBase.getBaseType();
List<TypeDefinition<?>> unionTypes = union.getTypes();
assertNull(unionType1.getUnits());
assertNull(unionType1.getDefaultValue());
assertNull(unionType1.getFractionDigits());
- assertTrue(unionType1.getLengths().isEmpty());
- assertTrue(unionType1.getPatterns().isEmpty());
- assertTrue(unionType1.getRanges().isEmpty());
+ assertTrue(unionType1.getLengthConstraints().isEmpty());
+ assertTrue(unionType1.getPatternConstraints().isEmpty());
+ assertTrue(unionType1.getRangeConstraints().isEmpty());
UnionType nestedUnion = (UnionType) unionType1.getBaseType();
List<TypeDefinition<?>> nestedUnion2Types = nestedUnion.getTypes();
assertNull(myUnionExt.getUnits());
assertNull(myUnionExt.getDefaultValue());
assertNull(myUnionExt.getFractionDigits());
- assertTrue(myUnionExt.getLengths().isEmpty());
- assertTrue(myUnionExt.getPatterns().isEmpty());
- assertTrue(myUnionExt.getRanges().isEmpty());
+ assertTrue(myUnionExt.getLengthConstraints().isEmpty());
+ assertTrue(myUnionExt.getPatternConstraints().isEmpty());
+ assertTrue(myUnionExt.getRangeConstraints().isEmpty());
ExtendedType myUnion = (ExtendedType) myUnionExt.getBaseType();
QName myUnionQName = myUnion.getQName();
assertNull(myUnion.getUnits());
assertNull(myUnion.getDefaultValue());
assertNull(myUnion.getFractionDigits());
- assertTrue(myUnion.getLengths().isEmpty());
- assertTrue(myUnion.getPatterns().isEmpty());
- assertTrue(myUnion.getRanges().isEmpty());
+ assertTrue(myUnion.getLengthConstraints().isEmpty());
+ assertTrue(myUnion.getPatternConstraints().isEmpty());
+ assertTrue(myUnion.getRangeConstraints().isEmpty());
UnionType myUnionBase = (UnionType) myUnion.getBaseType();
List<TypeDefinition<?>> myUnionBaseTypes = myUnionBase.getTypes();
assertNull(int16Ext.getUnits());
assertNull(int16Ext.getDefaultValue());
assertNull(int16Ext.getFractionDigits());
- assertTrue(int16Ext.getLengths().isEmpty());
- assertTrue(int16Ext.getPatterns().isEmpty());
- List<RangeConstraint> ranges = int16Ext.getRanges();
+ assertTrue(int16Ext.getLengthConstraints().isEmpty());
+ assertTrue(int16Ext.getPatternConstraints().isEmpty());
+ List<RangeConstraint> ranges = int16Ext.getRangeConstraints();
assertEquals(1, ranges.size());
RangeConstraint range = ranges.get(0);
assertEquals(1L, range.getMin());
assertEquals("port-number", qname.getLocalName());
ExtendedType dscpExt = (ExtendedType) TestUtils.findTypedef(module.getTypeDefinitions(), "dscp-ext");
- List<RangeConstraint> ranges = dscpExt.getRanges();
+ List<RangeConstraint> ranges = dscpExt.getRangeConstraints();
assertEquals(1, ranges.size());
RangeConstraint range = ranges.get(0);
assertEquals(0L, range.getMin());