当前位置: 首页>>代码示例>>Java>>正文


Java TypeDefinition.getBaseType方法代码示例

本文整理汇总了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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:27,代码来源:TypesResolutionTest.java

示例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);
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:17,代码来源:SchemaContextUtil.java

示例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;
}
 
开发者ID:opendaylight,项目名称:fpc,代码行数:13,代码来源:NameResolver.java

示例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;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:10,代码来源:JavaAttribute.java

示例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();

}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:9,代码来源:SchemaContextEmitter.java

示例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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:31,代码来源:TypesResolutionTest.java

示例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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:32,代码来源:TypesResolutionTest.java

示例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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:31,代码来源:TypesResolutionTest.java

示例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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:32,代码来源:TypesResolutionTest.java

示例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);
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:15,代码来源:TypesResolutionTest.java

示例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());
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:14,代码来源:Bug5712Test.java

示例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;
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:15,代码来源:SchemaContextUtil.java

示例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;
}
 
开发者ID:opendaylight,项目名称:yangtools,代码行数:16,代码来源:BaseTypes.java


注:本文中的org.opendaylight.yangtools.yang.model.api.TypeDefinition.getBaseType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。