Class NeutronBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.NeutronBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<Neutron>
,org.opendaylight.yangtools.concepts.CheckedBuilder<Neutron,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class NeutronBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<Neutron>
Class that buildsNeutronBuilder
instances. Overall design of the class is that of a fluent interface, where method chaining is used.In general, this class is supposed to be used like this template:
NeutronBuilder createTarget(int fooXyzzy, int barBaz) { return new NeutronBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of NeutronBuilder, as instances can be freely passed around without worrying about synchronization issues.
As a side note: method chaining results in:
- very efficient Java bytecode, as the method invocation result, in this case the Builder reference, is
on the stack, so further method invocations just need to fill method arguments for the next method
invocation, which is terminated by
build()
, which is then returned from the method - better understanding by humans, as the scope of mutable state (the builder) is kept to a minimum and is very localized
- better optimization oportunities, as the object scope is minimized in terms of invocation (rather than method) stack, making escape analysis a lot easier. Given enough compiler (JIT/AOT) prowess, the cost of th builder object can be completely eliminated
- See Also:
NeutronBuilder
,Builder
-
-
Constructor Summary
-
Method Summary
-
-
-
Constructor Detail
-
NeutronBuilder
public NeutronBuilder()
-
NeutronBuilder
public NeutronBuilder(ExtensionsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(ServiceProviderFeaturesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(NetworksAttributes arg)
-
NeutronBuilder
public NeutronBuilder(SubnetsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(PortsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(RoutersAttributes arg)
-
NeutronBuilder
public NeutronBuilder(FloatingipsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(MeteringLabelsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(MeteringRulesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(SecurityGroupsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(SecurityRulesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(FirewallsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(PoliciesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(RulesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(LbaasAttributes arg)
-
NeutronBuilder
public NeutronBuilder(VpnservicesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(IkepoliciesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(IpsecpoliciesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(IpsecconnectionsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(BgpvpnsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(BgpvpnNetworkAssociationsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(BgpvpnRouterAssociationsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(L2gatewaysAttributes arg)
-
NeutronBuilder
public NeutronBuilder(L2gatewayConnectionsAttributes arg)
-
NeutronBuilder
public NeutronBuilder(HostconfigAttributes arg)
-
NeutronBuilder
public NeutronBuilder(QosAttributes arg)
-
NeutronBuilder
public NeutronBuilder(SfcFlowClassifiersAttributes arg)
-
NeutronBuilder
public NeutronBuilder(SfcAttributes arg)
-
NeutronBuilder
public NeutronBuilder(TrunksAttributes arg)
-
NeutronBuilder
public NeutronBuilder(TapServicesAttributes arg)
-
NeutronBuilder
public NeutronBuilder(Neutron base)
-
-
Method Detail
-
fieldsFrom
public void fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument. Valid argument is instance of one of following types:- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.FirewallsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworksAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.TapServicesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.PoliciesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.SecurityGroupsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.IkepoliciesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.IpsecconnectionsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpn.router.association.rev190502.BgpvpnRouterAssociationsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.LbaasAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.BgpvpnsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.extensions.rev160617.ExtensionsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.MeteringLabelsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.extensions.rev160617.ServiceProviderFeaturesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.SfcAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.rev160613.QosAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.RulesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpn.network.association.rev190502.BgpvpnNetworkAssociationsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.VpnservicesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.RoutersAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.HostconfigAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.SubnetsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.SecurityRulesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.trunks.rev170118.TrunksAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.flow.classifier.rev160511.SfcFlowClassifiersAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.MeteringRulesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.IpsecpoliciesAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.FloatingipsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.L2gatewayConnectionsAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.L2gatewaysAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.PortsAttributes
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types
-
getBgpvpnNetworkAssociations
public BgpvpnNetworkAssociations getBgpvpnNetworkAssociations()
-
getBgpvpnRouterAssociations
public BgpvpnRouterAssociations getBgpvpnRouterAssociations()
-
getBgpvpns
public Bgpvpns getBgpvpns()
-
getExtensions
public Extensions getExtensions()
-
getFeatures
public Features getFeatures()
-
getFirewallPolicies
public FirewallPolicies getFirewallPolicies()
-
getFirewallRules
public FirewallRules getFirewallRules()
-
getFirewalls
public Firewalls getFirewalls()
-
getFloatingips
public Floatingips getFloatingips()
-
getHealthmonitors
public Healthmonitors getHealthmonitors()
-
getHostconfigs
public Hostconfigs getHostconfigs()
-
getIkePolicies
public IkePolicies getIkePolicies()
-
getIpsecPolicies
public IpsecPolicies getIpsecPolicies()
-
getIpsecSiteConnections
public IpsecSiteConnections getIpsecSiteConnections()
-
getL2gatewayConnections
public L2gatewayConnections getL2gatewayConnections()
-
getL2gateways
public L2gateways getL2gateways()
-
getListeners
public Listeners getListeners()
-
getLoadbalancers
public Loadbalancers getLoadbalancers()
-
getMeteringLabels
public MeteringLabels getMeteringLabels()
-
getMeteringRules
public MeteringRules getMeteringRules()
-
getNetworks
public Networks getNetworks()
-
getPools
public Pools getPools()
-
getPortChains
public PortChains getPortChains()
-
getPortPairGroups
public PortPairGroups getPortPairGroups()
-
getPortPairs
public PortPairs getPortPairs()
-
getPorts
public Ports getPorts()
-
getQosPolicies
public QosPolicies getQosPolicies()
-
getQosRuleTypes
public QosRuleTypes getQosRuleTypes()
-
getRouters
public Routers getRouters()
-
getSecurityGroups
public SecurityGroups getSecurityGroups()
-
getSecurityRules
public SecurityRules getSecurityRules()
-
getSfcFlowClassifiers
public SfcFlowClassifiers getSfcFlowClassifiers()
-
getSubnets
public Subnets getSubnets()
-
getTapServices
public TapServices getTapServices()
-
getTapServicesStatus
public TapServicesStatus getTapServicesStatus()
-
getTrunks
public Trunks getTrunks()
-
getVpnServices
public VpnServices getVpnServices()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Neutron>> E$$ augmentation(Class<E$$> augmentationType)
-
setBgpvpnNetworkAssociations
public NeutronBuilder setBgpvpnNetworkAssociations(BgpvpnNetworkAssociations value)
-
setBgpvpnRouterAssociations
public NeutronBuilder setBgpvpnRouterAssociations(BgpvpnRouterAssociations value)
-
setBgpvpns
public NeutronBuilder setBgpvpns(Bgpvpns value)
-
setExtensions
public NeutronBuilder setExtensions(Extensions value)
-
setFeatures
public NeutronBuilder setFeatures(Features value)
-
setFirewallPolicies
public NeutronBuilder setFirewallPolicies(FirewallPolicies value)
-
setFirewallRules
public NeutronBuilder setFirewallRules(FirewallRules value)
-
setFirewalls
public NeutronBuilder setFirewalls(Firewalls value)
-
setFloatingips
public NeutronBuilder setFloatingips(Floatingips value)
-
setHealthmonitors
public NeutronBuilder setHealthmonitors(Healthmonitors value)
-
setHostconfigs
public NeutronBuilder setHostconfigs(Hostconfigs value)
-
setIkePolicies
public NeutronBuilder setIkePolicies(IkePolicies value)
-
setIpsecPolicies
public NeutronBuilder setIpsecPolicies(IpsecPolicies value)
-
setIpsecSiteConnections
public NeutronBuilder setIpsecSiteConnections(IpsecSiteConnections value)
-
setL2gatewayConnections
public NeutronBuilder setL2gatewayConnections(L2gatewayConnections value)
-
setL2gateways
public NeutronBuilder setL2gateways(L2gateways value)
-
setListeners
public NeutronBuilder setListeners(Listeners value)
-
setLoadbalancers
public NeutronBuilder setLoadbalancers(Loadbalancers value)
-
setMeteringLabels
public NeutronBuilder setMeteringLabels(MeteringLabels value)
-
setMeteringRules
public NeutronBuilder setMeteringRules(MeteringRules value)
-
setNetworks
public NeutronBuilder setNetworks(Networks value)
-
setPools
public NeutronBuilder setPools(Pools value)
-
setPortChains
public NeutronBuilder setPortChains(PortChains value)
-
setPortPairGroups
public NeutronBuilder setPortPairGroups(PortPairGroups value)
-
setPortPairs
public NeutronBuilder setPortPairs(PortPairs value)
-
setPorts
public NeutronBuilder setPorts(Ports value)
-
setQosPolicies
public NeutronBuilder setQosPolicies(QosPolicies value)
-
setQosRuleTypes
public NeutronBuilder setQosRuleTypes(QosRuleTypes value)
-
setRouters
public NeutronBuilder setRouters(Routers value)
-
setSecurityGroups
public NeutronBuilder setSecurityGroups(SecurityGroups value)
-
setSecurityRules
public NeutronBuilder setSecurityRules(SecurityRules value)
-
setSfcFlowClassifiers
public NeutronBuilder setSfcFlowClassifiers(SfcFlowClassifiers value)
-
setSubnets
public NeutronBuilder setSubnets(Subnets value)
-
setTapServices
public NeutronBuilder setTapServices(TapServices value)
-
setTapServicesStatus
public NeutronBuilder setTapServicesStatus(TapServicesStatus value)
-
setTrunks
public NeutronBuilder setTrunks(Trunks value)
-
setVpnServices
public NeutronBuilder setVpnServices(VpnServices value)
-
addAugmentation
public NeutronBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Neutron> augmentation)
Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
NullPointerException
- ifaugmentation
is null
-
addAugmentation
@Deprecated(forRemoval=true) public NeutronBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Neutron>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Neutron> augmentationValue)
Deprecated, for removal: This API element is subject to removal in a future version.Use eitheraddAugmentation(Augmentation)
orremoveAugmentation(Class)
instead.Add or remove an augmentation to this builder's product.- Parameters:
augmentationType
- augmentation type to be added or removedaugmentationValue
- augmentation value, null if the augmentation type should be removed- Returns:
- this builder
-
removeAugmentation
public NeutronBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Neutron>> augmentationType)
Remove an augmentation from this builder's product. If this builder does not track such an augmentation type, this method does nothing.- Parameters:
augmentationType
- augmentation type to be removed- Returns:
- this builder
-
build
public Neutron build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<Neutron>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<Neutron,IllegalArgumentException>
-
-