.addAny(YangStmtMapping.TYPE)
.build();
+ static final String BINARY = "binary";
+ static final String BITS = "bits";
+ static final String BOOLEAN = "boolean";
+ static final String DECIMAL64 = "decimal64";
+ static final String EMPTY = "empty";
+ static final String ENUMERATION = "enumeration";
+ static final String IDENTITY_REF = "identityref";
+ static final String INSTANCE_IDENTIFIER = "instance-identifier";
+ static final String INT8 = "int8";
+ static final String INT16 = "int16";
+ static final String INT32 = "int32";
+ static final String INT64 = "int64";
+ static final String LEAF_REF = "leafref";
+ static final String STRING = "string";
+ static final String UINT8 = "uint8";
+ static final String UINT16 = "uint16";
+ static final String UINT32 = "uint32";
+ static final String UINT64 = "uint64";
+ static final String UNION = "union";
+
+ private static final Map<String, String> BUILT_IN_TYPES = ImmutableMap.<String, String>builder()
+ .put(BINARY, BINARY)
+ .put(BITS, BITS)
+ .put(BOOLEAN, BOOLEAN)
+ .put(DECIMAL64, DECIMAL64)
+ .put(EMPTY, EMPTY)
+ .put(ENUMERATION, ENUMERATION)
+ .put(IDENTITY_REF,IDENTITY_REF)
+ .put(INSTANCE_IDENTIFIER, INSTANCE_IDENTIFIER)
+ .put(INT8, INT8)
+ .put(INT16, INT16)
+ .put(INT32, INT32)
+ .put(INT64, INT64)
+ .put(LEAF_REF, LEAF_REF)
+ .put(STRING, STRING)
+ .put(UINT8, UINT8)
+ .put(UINT16, UINT16)
+ .put(UINT32, UINT32)
+ .put(UINT64, UINT64)
+ .put(UNION, UNION)
+ .build();
+
private static final Map<String, StatementSupport<?, ?, ?>> ARGUMENT_SPECIFIC_SUPPORTS =
ImmutableMap.<String, StatementSupport<?, ?, ?>>builder()
- .put(TypeUtils.BITS, new BitsSpecificationSupport())
- .put(TypeUtils.DECIMAL64, new Decimal64SpecificationSupport())
- .put(TypeUtils.ENUMERATION, new EnumSpecificationSupport())
- .put(TypeUtils.IDENTITY_REF, new IdentityRefSpecificationRFC6020Support())
- .put(TypeUtils.INSTANCE_IDENTIFIER, new InstanceIdentifierSpecificationSupport())
- .put(TypeUtils.LEAF_REF, new LeafrefSpecificationRFC6020Support())
- .put(TypeUtils.UNION, new UnionSpecificationSupport())
+ .put(BITS, new BitsSpecificationSupport())
+ .put(DECIMAL64, new Decimal64SpecificationSupport())
+ .put(ENUMERATION, new EnumSpecificationSupport())
+ .put(IDENTITY_REF, new IdentityRefSpecificationRFC6020Support())
+ .put(INSTANCE_IDENTIFIER, new InstanceIdentifierSpecificationSupport())
+ .put(LEAF_REF, new LeafrefSpecificationRFC6020Support())
+ .put(UNION, new UnionSpecificationSupport())
.build();
AbstractTypeStatementSupport() {
// First look up the proper base type
final TypeEffectiveStatement<TypeStatement> typeStmt;
switch (ctx.getStatementArgument()) {
- case TypeUtils.BINARY:
+ case BINARY:
typeStmt = BuiltinEffectiveStatement.BINARY;
break;
- case TypeUtils.BOOLEAN:
+ case BOOLEAN:
typeStmt = BuiltinEffectiveStatement.BOOLEAN;
break;
- case TypeUtils.EMPTY:
+ case EMPTY:
typeStmt = BuiltinEffectiveStatement.EMPTY;
break;
- case TypeUtils.INSTANCE_IDENTIFIER:
+ case INSTANCE_IDENTIFIER:
typeStmt = BuiltinEffectiveStatement.INSTANCE_IDENTIFIER;
break;
- case TypeUtils.INT8:
+ case INT8:
typeStmt = BuiltinEffectiveStatement.INT8;
break;
- case TypeUtils.INT16:
+ case INT16:
typeStmt = BuiltinEffectiveStatement.INT16;
break;
- case TypeUtils.INT32:
+ case INT32:
typeStmt = BuiltinEffectiveStatement.INT32;
break;
- case TypeUtils.INT64:
+ case INT64:
typeStmt = BuiltinEffectiveStatement.INT64;
break;
- case TypeUtils.STRING:
+ case STRING:
typeStmt = BuiltinEffectiveStatement.STRING;
break;
- case TypeUtils.UINT8:
+ case UINT8:
typeStmt = BuiltinEffectiveStatement.UINT8;
break;
- case TypeUtils.UINT16:
+ case UINT16:
typeStmt = BuiltinEffectiveStatement.UINT16;
break;
- case TypeUtils.UINT32:
+ case UINT32:
typeStmt = BuiltinEffectiveStatement.UINT32;
break;
- case TypeUtils.UINT64:
+ case UINT64:
typeStmt = BuiltinEffectiveStatement.UINT64;
break;
default:
super.onFullDefinitionDeclared(stmt);
// if it is yang built-in type, no prerequisite is needed, so simply return
- if (TypeUtils.isYangBuiltInTypeString(stmt.getStatementArgument())) {
+ if (BUILT_IN_TYPES.containsKey(stmt.getStatementArgument())) {
return;
}
@Override
public final String internArgument(final String rawArgument) {
- final String found = TypeUtils.findBuiltinString(rawArgument);
+ final String found = BUILT_IN_TYPES.get(rawArgument);
return found != null ? found : rawArgument;
}
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
final class BuiltinTypeStatement implements TypeStatement {
private static final Map<String, BuiltinTypeStatement> BUILTINS;
static {
final Builder<String, BuiltinTypeStatement> builder = ImmutableMap.builder();
- putBuiltin(builder, TypeUtils.BINARY);
- putBuiltin(builder, TypeUtils.BOOLEAN);
- putBuiltin(builder, TypeUtils.EMPTY);
- putBuiltin(builder, TypeUtils.INSTANCE_IDENTIFIER);
- putBuiltin(builder, TypeUtils.INT8);
- putBuiltin(builder, TypeUtils.INT16);
- putBuiltin(builder, TypeUtils.INT32);
- putBuiltin(builder, TypeUtils.INT64);
- putBuiltin(builder, TypeUtils.STRING);
- putBuiltin(builder, TypeUtils.UINT8);
- putBuiltin(builder, TypeUtils.UINT16);
- putBuiltin(builder, TypeUtils.UINT32);
- putBuiltin(builder, TypeUtils.UINT64);
+ putBuiltin(builder, AbstractTypeStatementSupport.BINARY);
+ putBuiltin(builder, AbstractTypeStatementSupport.BOOLEAN);
+ putBuiltin(builder, AbstractTypeStatementSupport.EMPTY);
+ putBuiltin(builder, AbstractTypeStatementSupport.INSTANCE_IDENTIFIER);
+ putBuiltin(builder, AbstractTypeStatementSupport.INT8);
+ putBuiltin(builder, AbstractTypeStatementSupport.INT16);
+ putBuiltin(builder, AbstractTypeStatementSupport.INT32);
+ putBuiltin(builder, AbstractTypeStatementSupport.INT64);
+ putBuiltin(builder, AbstractTypeStatementSupport.STRING);
+ putBuiltin(builder, AbstractTypeStatementSupport.UINT8);
+ putBuiltin(builder, AbstractTypeStatementSupport.UINT16);
+ putBuiltin(builder, AbstractTypeStatementSupport.UINT32);
+ putBuiltin(builder, AbstractTypeStatementSupport.UINT64);
BUILTINS = builder.build();
}
import com.google.common.collect.ImmutableMap;
import java.util.Map;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
/**
* Class providing necessary support for processing YANG 1.1 Type statement.
@Beta
public final class TypeStatementRFC7950Support extends AbstractTypeStatementSupport {
private static final Map<String, StatementSupport<?, ?, ?>> ARGUMENT_SPECIFIC_SUPPORTS = ImmutableMap.of(
- TypeUtils.LEAF_REF, new LeafrefSpecificationRFC7950Support(),
- TypeUtils.IDENTITY_REF, new IdentityrefSpecificationRFC7950Support());
+ LEAF_REF, new LeafrefSpecificationRFC7950Support(),
+ IDENTITY_REF, new IdentityrefSpecificationRFC7950Support());
@Override
public boolean hasArgumentSpecificSupports() {
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.YangVersion;
*/
public final class TypeUtils {
- public static final String BINARY = "binary";
- public static final String BITS = "bits";
- public static final String BOOLEAN = "boolean";
- public static final String DECIMAL64 = "decimal64";
- public static final String EMPTY = "empty";
- public static final String ENUMERATION = "enumeration";
- public static final String IDENTITY_REF = "identityref";
- public static final String INSTANCE_IDENTIFIER = "instance-identifier";
- public static final String INT8 = "int8";
- public static final String INT16 = "int16";
- public static final String INT32 = "int32";
- public static final String INT64 = "int64";
- public static final String LEAF_REF = "leafref";
- public static final String STRING = "string";
- public static final String UINT8 = "uint8";
- public static final String UINT16 = "uint16";
- public static final String UINT32 = "uint32";
- public static final String UINT64 = "uint64";
- public static final String UNION = "union";
-
- private static final Map<String, String> BUILT_IN_TYPES = ImmutableMap.<String, String>builder()
- .put(BINARY, BINARY)
- .put(BITS, BITS)
- .put(BOOLEAN, BOOLEAN)
- .put(DECIMAL64, DECIMAL64)
- .put(EMPTY, EMPTY)
- .put(ENUMERATION, ENUMERATION)
- .put(IDENTITY_REF,IDENTITY_REF)
- .put(INSTANCE_IDENTIFIER, INSTANCE_IDENTIFIER)
- .put(INT8, INT8)
- .put(INT16, INT16)
- .put(INT32, INT32)
- .put(INT64, INT64)
- .put(LEAF_REF, LEAF_REF)
- .put(STRING, STRING)
- .put(UINT8, UINT8)
- .put(UINT16, UINT16)
- .put(UINT32, UINT32)
- .put(UINT64, UINT64)
- .put(UNION, UNION)
- .build();
-
private static final Splitter PIPE_SPLITTER = Splitter.on('|').trimResults();
private static final Splitter TWO_DOTS_SPLITTER = Splitter.on("..").trimResults();
return ranges;
}
- public static boolean isYangBuiltInTypeString(final String typeName) {
- return BUILT_IN_TYPES.containsKey(typeName);
- }
-
public static SchemaPath typeEffectiveSchemaPath(final StmtContext<?, ?, ?> stmtCtx) {
final SchemaPath path = stmtCtx.getSchemaPath().get();
final SchemaPath parent = path.getParent();
&& isAnyDefaultValueMarkedWithIfFeature(typeStmt, defaultValues);
}
- public static String findBuiltinString(final String rawArgument) {
- return BUILT_IN_TYPES.get(rawArgument);
- }
-
private static boolean isRelevantForIfFeatureCheck(final TypeEffectiveStatement<?> typeStmt) {
final TypeDefinition<?> typeDefinition = typeStmt.getTypeDefinition();
return typeDefinition instanceof EnumTypeDefinition || typeDefinition instanceof BitsTypeDefinition
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.common.YangConstants;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
+import org.opendaylight.yangtools.yang.model.util.BaseTypes;
public class AugmentTest {
private static final QNameModule FOO = QNameModule.create(
assertEquals(expectedSchemaPath, ds0ChannelNumber.getPath());
assertFalse(ds0ChannelNumber.isAugmenting());
// type of leaf ds0ChannelNumber
- final QName typeQName = QName.create(YangConstants.RFC6020_YANG_MODULE, TypeUtils.STRING);
- final List<QName> typePath = Collections.singletonList(typeQName);
+ final List<QName> typePath = Collections.singletonList(BaseTypes.STRING_QNAME);
expectedSchemaPath = SchemaPath.create(typePath, true);
assertEquals(expectedSchemaPath, ds0ChannelNumber.getType().getPath());
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
+import org.opendaylight.yangtools.yang.model.util.BaseTypes;
public class TypedefConstraintsTest {
assertEquals(new BigDecimal(5.5), range.upperEndpoint());
assertTrue(decType.getQName().getModule().equals(leafDecimal.getQName().getModule()));
- assertTrue(decType.getQName().getLocalName().equals(TypeUtils.DECIMAL64));
+ assertTrue(decType.getQName().getLocalName().equals(BaseTypes.DECIMAL64_QNAME.getLocalName()));
assertNull(decType.getBaseType());
}