/** * Returns true if supplied type is representation of built-in YANG type as * per RFC 6020. * * <p> * See package documentation for description of base types. * * @param type Type definition * @return true if type is built-in YANG Types. */ public static boolean isYangBuildInType(final TypeDefinition<?> type) { return type != null && BUILT_IN_TYPES.contains(type.getQName()); } }
/** * Returns true if supplied type is representation of built-in YANG type as * per RFC 6020. * * <p> * See package documentation for description of base types. * * @param type Type definition * @return true if type is built-in YANG Types. */ public static boolean isYangBuildInType(final TypeDefinition<?> type) { return type != null && BUILT_IN_TYPES.contains(type.getQName()); } }
/** * Searches <code>Type</code> value to which is YANG <code>type</code> * mapped. * * @param type * type definition representation of YANG type * @return java <code>Type</code> representation of <code>type</code>. * If <code>type</code> isn't found then <code>null</code> is * returned. */ @Override public Type javaTypeForSchemaDefinitionType(final TypeDefinition<?> type, final SchemaNode parentNode) { if (type != null) { return TYPE_MAP.get(type.getQName().getLocalName()); } return null; }
/** * Searches <code>Type</code> value to which is YANG <code>type</code> * mapped. * * @param type * type definition representation of YANG type * @return java <code>Type</code> representation of <code>type</code>. * If <code>type</code> isn't found then <code>null</code> is * returned. */ @Override public Type javaTypeForSchemaDefinitionType(final TypeDefinition<?> type, final SchemaNode parentNode) { if (type != null) { return TYPE_MAP.get(type.getQName().getLocalName()); } return null; }
@Override public String getParamNameFromType(final TypeDefinition<?> type) { return "_" + BindingMapping.getPropertyName(type.getQName().getLocalName()); } };
@Override public String getParamNameFromType(final TypeDefinition<?> type) { return "_" + BindingMapping.getPropertyName(type.getQName().getLocalName()); } };
@Override public String getParamNameFromType(final TypeDefinition<?> type) { return BindingMapping.getPropertyName(type.getQName().getLocalName()); } }
@Override public String getParamNameFromType(final TypeDefinition<?> type) { return BindingMapping.getPropertyName(type.getQName().getLocalName()); }
private void emitTypeNodeReferenced(final TypeDefinition<?> typeDefinition) { super.writer.startTypeNode(typeDefinition.getQName()); super.writer.endNode(); }
@Override public final String argument() { return getTypeDefinition().getQName().getLocalName(); }
static Callable<UnionTypeCodec> loader(final Class<?> unionCls, final UnionTypeDefinition unionType, final BindingCodecContext bindingCodecContext) { return () -> { final Set<UnionValueOptionContext> values = new LinkedHashSet<>(); for (final TypeDefinition<?> subtype : unionType.getTypes()) { if (subtype instanceof LeafrefTypeDefinition) { addLeafrefValueCodec(unionCls, unionType, bindingCodecContext, values, subtype); } else { final Method valueGetter = unionCls.getMethod(BindingMapping.GETTER_PREFIX + BindingMapping.getClassName(subtype.getQName())); final Class<?> valueType = valueGetter.getReturnType(); final Codec<Object, Object> valueCodec = bindingCodecContext.getCodec(valueType, subtype); values.add(new UnionValueOptionContext(unionCls, valueType, valueGetter, valueCodec)); } } return new UnionTypeCodec(unionCls, values); }; }
private static Module findParentModuleOfReferencingType(final SchemaContext schemaContext, final SchemaNode schemaNode) { checkArgument(schemaContext != null, "Schema Context reference cannot be NULL!"); 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); }
private static Module findParentModuleOfReferencingType(final SchemaContext schemaContext, final SchemaNode schemaNode) { checkArgument(schemaContext != null, "Schema Context reference cannot be NULL!"); 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); }
/** * 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 generated TO builder which is converted to generated TO and stored */ private void storeGenTO(final TypeDefinition<?> newTypeDef, final GeneratedTOBuilder genTOBuilder, final SchemaNode parentNode) { if (!(newTypeDef instanceof UnionTypeDefinition)) { final Module parentModule = findParentModule(schemaContext, parentNode); if (parentModule != null && parentModule.getName() != null) { final Map<Optional<Revision>, Map<String, Type>> modulesByDate = genTypeDefsContextMap.get( parentModule.getName()); final Map<String, Type> genTOsMap = modulesByDate.get(parentModule.getRevision()); genTOsMap.put(newTypeDef.getQName().getLocalName(), genTOBuilder.build()); } } }
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(); }
private void emitTypedefNode(final TypeDefinition<?> typedef) { super.writer.startTypedefNode(typedef.getQName()); // Differentiate between derived type and existing type // name. emitTypeNodeDerived(typedef); typedef.getUnits().ifPresent(this::emitUnitsNode); typedef.getDefaultValue().ifPresent(this::emitDefaultNode); emitDocumentedNode(typedef); emitUnknownStatementNodes(typedef.getUnknownSchemaNodes()); super.writer.endNode(); }
public static CharSequence writeTypeDefinition(final TypeDefinition<?> typeDefinition) { StringConcatenation _builder = new StringConcatenation(); _builder.append("type "); QName _qName = typeDefinition.getQName(); String _localName = _qName.getLocalName(); _builder.append(_localName, ""); _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; }
/** * Converts <code>typedef</code> to the generated TO builder. * * @param basePackageName string with name of package to which the module belongs * @param typedef type definition from which is the generated TO builder created * @return generated TO builder which contains data from <code>typedef</code> and <code>basePackageName</code> */ private GeneratedTOBuilder typedefToTransferObject(final String basePackageName, final TypeDefinition<?> typedef, final String moduleName) { JavaTypeName name = renames.get(typedef); if (name == null) { name = JavaTypeName.create( BindingGeneratorUtil.packageNameForGeneratedType(basePackageName, typedef.getPath()), BindingMapping.getClassName(typedef.getQName().getLocalName())); } final GeneratedTOBuilder newType = newGeneratedTOBuilder(name); newType.setSchemaPath(typedef.getPath()); newType.setModuleName(moduleName); addCodegenInformation(newType, typedef); return newType; }
public static CharSequence writeLeafListSchemaNode(final LeafListSchemaNode leafListSchemaNode) { StringConcatenation _builder = new StringConcatenation(); _builder.append("leaf-list "); QName _qName = leafListSchemaNode.getQName(); String _localName = _qName.getLocalName(); _builder.append(_localName, ""); _builder.append(" {"); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("type "); TypeDefinition<? extends TypeDefinition<?>> _type = leafListSchemaNode.getType(); QName _qName_1 = _type.getQName(); String _localName_1 = _qName_1.getLocalName(); _builder.append(_localName_1, " "); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; }
public static CharSequence writeLeafSchemaNode(final LeafSchemaNode leafSchemaNode) { StringConcatenation _builder = new StringConcatenation(); _builder.append("leaf "); QName _qName = leafSchemaNode.getQName(); String _localName = _qName.getLocalName(); _builder.append(_localName, ""); _builder.append(" {"); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("type "); TypeDefinition<?> _type = leafSchemaNode.getType(); QName _qName_1 = _type.getQName(); String _localName_1 = _qName_1.getLocalName(); _builder.append(_localName_1, " "); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; }