Due to a ransomware attack, the wiki was reverted to a July 2022 version. . We apologize for the lack of a more recent valid backup.
...
During YANG to java conversion, wherever the contents of grouping is present a class as similar as to that of a container is created.Wherever uses is present object of this class is used as an attributecopied wherever uses statement is used and code will be generated for nodes inside grouping wherever it is used.
Example
Code Block | ||
---|---|---|
| ||
module Test { namespace "http://test.example.com/"; prefix "test"; organization "ACME Inc."; grouping endpoint { leaf address { type int32; } leaf port { type int8; } } container connection { container source { uses endpoint; } container destination { uses endpoint; } } . . . } |
Code Block | ||
---|---|---|
| ||
File : Endpoint.java Connection.java package org.onosproject.yang.gen.v1.http.test.example.com.rev20160718.test; import org.onosproject.yang.gen.v1.http.test.example.com.rev20160718.test.connection.Source; public interface EndpointConnection { . . .Source source(); interface EndpointBuilderConnectionBuilder { . Source .source(); . } } File : EndpointBuilder.java public class EndpointBuilder implements Endpoint.EndpointBuilder { .ConnectionBuilder source(Source source); Connection build(); .} } File : Source.java public final class EndpointImpl implements Endpoint { . . . } } File : Source.java package org.onosproject.yang.gen.v1.http.test.example.com.rev20160718.test.connection; public interface Source extends AugmentationHolder { . . .int address(); Endpointbyte endpointport(); interface SourceBuilder { . int . .address(); Endpointbyte endpointport(); SourceBuilder endpointaddress(Endpointint endpointaddress); } } File : SourceBuilder.java public class SourceBuilder implements Source.SourceBuilder { private Endpoint endpointport(byte port); @Override publicSource Endpoint endpointbuild() { return endpoint; } @Override public SourceBuilder endpoint(Endpoint endpoint) { this.endpoint = endpoint; return this; } . . . public final class SourceImpl implements Source { private Endpoint endpoint; @Override public Endpoint endpoint() { return endpoint; } . . . } } File : Destination.java public interface Destination extends AugmentationHolder { . . . Endpoint endpoint(); interface DestinationBuilder { . . . Endpoint endpoint(); DestinationBuilder endpoint(Endpoint endpoint); } } File : DestinationBuilder.java public class DestinationBuilder implements Destination.DestinationBuilder { private Endpoint endpoint; @Override public Endpoint endpoint() { return endpoint; } @Override public DestinationBuilder endpoint(Endpoint endpoint) { this.endpoint = endpoint; return this; } . . . public final class DestinationImpl implements Destination { private Endpoint endpoint; @Override public Endpoint endpoint() { return endpoint; } . . . } } |
Choice and case
Overview
...