本文整理汇总了Java中org.opendaylight.yangtools.yang.model.api.TypeDefinition.getBaseType方法的典型用法代码示例。如果您正苦于以下问题:Java TypeDefinition.getBaseType方法的具体用法?Java TypeDefinition.getBaseType怎么用?Java TypeDefinition.getBaseType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opendaylight.yangtools.yang.model.api.TypeDefinition
的用法示例。
在下文中一共展示了TypeDefinition.getBaseType方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testIpAddress
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testIpAddress() {
Module tested = TestUtils.findModule(context, "ietf-inet-types").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-address");
UnionTypeDefinition baseType = (UnionTypeDefinition) type.getBaseType();
List<TypeDefinition<?>> unionTypes = baseType.getTypes();
StringTypeDefinition ipv4 = (StringTypeDefinition) unionTypes.get(0);
assertNotNull(ipv4.getBaseType());
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.getPatternConstraints().get(0).getJavaPatternString());
StringTypeDefinition ipv6 = (StringTypeDefinition) unionTypes.get(1);
assertNotNull(ipv6.getBaseType());
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}]+)?$";
assertEquals(expectedPattern, ipv6Patterns.get(0).getJavaPatternString());
expectedPattern = "^(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|" + "((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)"
+ "(%.+)?$";
assertEquals(expectedPattern, ipv6Patterns.get(1).getJavaPatternString());
}
示例2: findParentModuleOfReferencingType
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
private static Module findParentModuleOfReferencingType(final SchemaContext schemaContext,
final SchemaNode schemaNode) {
Preconditions.checkArgument(schemaContext != null, "Schema Context reference cannot be NULL!");
Preconditions.checkArgument(schemaNode instanceof TypedDataSchemaNode, "Unsupported node %s", schemaNode);
TypeDefinition<?> nodeType = ((TypedDataSchemaNode) schemaNode).getType();
if (nodeType.getBaseType() != null) {
while (nodeType.getBaseType() != null) {
nodeType = nodeType.getBaseType();
}
return schemaContext.findModule(nodeType.getQName().getModule()).orElse(null);
}
return SchemaContextUtil.findParentModule(schemaContext, schemaNode);
}
示例3: resolveBaseTypeFrom
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
/**
* Resolves the Base Type of a TypeDefinition
* @param type - TypeDefinition
* @return Base type for the TypeDefinition
*/
private TypeDefinition<?> resolveBaseTypeFrom(final TypeDefinition<?> type) {
TypeDefinition<?> superType = type;
while (superType.getBaseType() != null) {
superType = superType.getBaseType();
}
return superType;
}
示例4: getBaseType
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
/**
* Returns the most base type
*/
private TypeDefinition<?> getBaseType(final TypeProviderWrapper typeProviderWrapper, TypeDefinition<?> baseType) {
while(baseType.getBaseType()!=null) {
baseType = baseType.getBaseType();
}
return baseType;
}
示例5: emitTypeNodeDerived
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
private void emitTypeNodeDerived(final TypeDefinition<?> typeDefinition) {
final TypeDefinition<?> b = typeDefinition.getBaseType();
final TypeDefinition<?> baseType = b == null ? typeDefinition : b;
super.writer.startTypeNode(baseType.getQName());
emitTypeBodyNodes(typeDefinition);
super.writer.endNode();
}
示例6: testIPVersion
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testIPVersion() {
Module tested = TestUtils.findModule(context, "ietf-inet-types").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
assertEquals(14, typedefs.size());
TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
assertTrue(type.getDescription().get().contains("This value represents the version of the IP protocol."));
assertTrue(type.getReference().get().contains("RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"));
EnumTypeDefinition enumType = (EnumTypeDefinition) type.getBaseType();
List<EnumPair> values = enumType.getValues();
assertEquals(3, values.size());
EnumPair value0 = values.get(0);
assertEquals("unknown", value0.getName());
assertEquals(0, value0.getValue());
assertEquals(Optional.of("An unknown or unspecified version of the Internet protocol."),
value0.getDescription());
EnumPair value1 = values.get(1);
assertEquals("ipv4", value1.getName());
assertEquals(1, value1.getValue());
assertEquals(Optional.of("The IPv4 protocol as defined in RFC 791."), value1.getDescription());
EnumPair value2 = values.get(2);
assertEquals("ipv6", value2.getName());
assertEquals(2, value2.getValue());
assertEquals(Optional.of("The IPv6 protocol as defined in RFC 2460."), value2.getDescription());
}
示例7: testEnumeration
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testEnumeration() {
Module tested = TestUtils.findModule(context, "custom-types-test").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
EnumTypeDefinition enumType = (EnumTypeDefinition) type.getBaseType();
List<EnumPair> values = enumType.getValues();
assertEquals(4, values.size());
EnumPair value0 = values.get(0);
assertEquals("unknown", value0.getName());
assertEquals(0, value0.getValue());
assertEquals(Optional.of("An unknown or unspecified version of the Internet protocol."),
value0.getDescription());
EnumPair value1 = values.get(1);
assertEquals("ipv4", value1.getName());
assertEquals(19, value1.getValue());
assertEquals(Optional.of("The IPv4 protocol as defined in RFC 791."), value1.getDescription());
EnumPair value2 = values.get(2);
assertEquals("ipv6", value2.getName());
assertEquals(7, value2.getValue());
assertEquals(Optional.of("The IPv6 protocol as defined in RFC 2460."), value2.getDescription());
EnumPair value3 = values.get(3);
assertEquals("default", value3.getName());
assertEquals(20, value3.getValue());
assertEquals(Optional.of("default ip"), value3.getDescription());
}
示例8: testBitsType2
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testBitsType2() {
Module tested = TestUtils.findModule(context, "custom-types-test").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "access-operations-type");
BitsTypeDefinition bitsType = (BitsTypeDefinition) testedType.getBaseType();
List<Bit> bits = bitsType.getBits();
assertEquals(5, bits.size());
Bit bit0 = bits.get(0);
assertEquals("create", bit0.getName());
assertEquals(0L, bit0.getPosition());
Bit bit1 = bits.get(1);
assertEquals("delete", bit1.getName());
assertEquals(365L, bit1.getPosition());
Bit bit2 = bits.get(2);
assertEquals("read", bit2.getName());
assertEquals(500L, bit2.getPosition());
Bit bit3 = bits.get(3);
assertEquals("update", bit3.getName());
assertEquals(501L, bit3.getPosition());
Bit bit4 = bits.get(4);
assertEquals("exec", bit4.getName());
assertEquals(502L, bit4.getPosition());
}
示例9: testIanaTimezones
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testIanaTimezones() {
Module tested = TestUtils.findModule(context, "iana-timezones").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "iana-timezone");
String expectedDesc = "A timezone location as defined by the IANA timezone";
assertTrue(testedType.getDescription().get().contains(expectedDesc));
assertFalse(testedType.getReference().isPresent());
assertEquals(Status.CURRENT, testedType.getStatus());
QName testedTypeQName = testedType.getQName();
assertEquals(URI.create("urn:ietf:params:xml:ns:yang:iana-timezones"), testedTypeQName.getNamespace());
assertEquals(Revision.ofNullable("2012-07-09"), testedTypeQName.getRevision());
assertEquals("iana-timezone", testedTypeQName.getLocalName());
EnumTypeDefinition enumType = (EnumTypeDefinition) testedType.getBaseType();
List<EnumPair> values = enumType.getValues();
// 0-414
assertEquals(415, values.size());
EnumPair enum168 = values.get(168);
assertEquals("America/Danmarkshavn", enum168.getName());
assertEquals(168, enum168.getValue());
assertEquals(Optional.of("east coast, north of Scoresbysund"), enum168.getDescription());
EnumPair enum374 = values.get(374);
assertEquals("America/Indiana/Winamac", enum374.getName());
assertEquals(374, enum374.getValue());
assertEquals(Optional.of("Eastern Time - Indiana - Pulaski County"), enum374.getDescription());
}
示例10: testIdentityref
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
@Test
public void testIdentityref() {
Module tested = TestUtils.findModule(context, "custom-types-test").get();
Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "service-type-ref");
IdentityrefTypeDefinition baseType = (IdentityrefTypeDefinition) testedType.getBaseType();
QName identity = baseType.getIdentities().iterator().next().getQName();
assertEquals(URI.create("urn:custom.types.demo"), identity.getNamespace());
assertEquals(Revision.ofNullable("2012-04-16"), identity.getRevision());
assertEquals("service-type", identity.getLocalName());
LeafSchemaNode type = (LeafSchemaNode) tested.getDataChildByName(QName.create(tested.getQNameModule(), "type"));
assertNotNull(type);
}
示例11: checkThing2TypeDef
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
private static void checkThing2TypeDef(final Module badModule) {
TypeDefinition<?> thing2 = null;
for (TypeDefinition<?> typeDef : badModule.getTypeDefinitions()) {
if (typeDef.getQName().getLocalName().equals("thing2")) {
thing2 = typeDef;
break;
}
}
assertNotNull(thing2);
TypeDefinition<?> baseType = thing2.getBaseType();
assertEquals(QName.create("urn:opendaylight:bad", "2016-04-11", "thing"), baseType.getQName());
}
示例12: typeDefinition
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
/**
* Extracts the base type of leaf schema node until it reach concrete type of TypeDefinition.
*
* @param node
* a node representing LeafSchemaNode
* @return concrete type definition of node value
*/
private static TypeDefinition<?> typeDefinition(final LeafSchemaNode node) {
TypeDefinition<?> baseType = node.getType();
while (baseType.getBaseType() != null) {
baseType = baseType.getBaseType();
}
return baseType;
}
示例13: baseTypeOf
import org.opendaylight.yangtools.yang.model.api.TypeDefinition; //导入方法依赖的package包/类
/**
* Return the base type of a particular type. This method performs recursive lookup through the type's base type
* until it finds the last element and returns it. If the argument is already the base type, it is returned as is.
*
* @param type Type for which to find the base type
* @return Base type of specified type
* @throws NullPointerException if type is null
*/
public static TypeDefinition<?> baseTypeOf(@Nonnull final TypeDefinition<?> type) {
TypeDefinition<?> ret = type;
while (ret.getBaseType() != null) {
ret = ret.getBaseType();
}
return ret;
}