Class HealthmonitorBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.healthmonitors.HealthmonitorBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<Healthmonitor>
,org.opendaylight.yangtools.concepts.CheckedBuilder<Healthmonitor,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class HealthmonitorBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<Healthmonitor>
Class that buildsHealthmonitorBuilder
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:
HealthmonitorBuilder createTarget(int fooXyzzy, int barBaz) { return new HealthmonitorBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of HealthmonitorBuilder, 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:
HealthmonitorBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description HealthmonitorBuilder()
HealthmonitorBuilder(IdAttributes arg)
HealthmonitorBuilder(HealthmonitorAttributes arg)
HealthmonitorBuilder(Healthmonitor base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HealthmonitorBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>>
E$$augmentation(Class<E$$> augmentationType)
Healthmonitor
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.Boolean
getAdminStateUp()
org.opendaylight.yangtools.yang.common.Uint32
getDelay()
String
getExpectedCodes()
String
getHttpMethod()
org.opendaylight.yangtools.yang.common.Uint16
getMaxRetries()
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid>
getPools()
String
getProjectId()
Long
getRevisionNumber()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getTenantId()
org.opendaylight.yangtools.yang.common.Uint32
getTimeout()
Class<? extends ProbeBase>
getType()
String
getUrlPath()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getUuid()
HealthmonitorKey
key()
HealthmonitorBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> augmentationType)
Remove an augmentation from this builder's product.HealthmonitorBuilder
setAdminStateUp(Boolean value)
HealthmonitorBuilder
setDelay(org.opendaylight.yangtools.yang.common.Uint32 value)
HealthmonitorBuilder
setExpectedCodes(String value)
HealthmonitorBuilder
setHttpMethod(String value)
HealthmonitorBuilder
setMaxRetries(org.opendaylight.yangtools.yang.common.Uint16 value)
HealthmonitorBuilder
setPools(List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
HealthmonitorBuilder
setProjectId(String value)
HealthmonitorBuilder
setRevisionNumber(Long value)
HealthmonitorBuilder
setTenantId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
HealthmonitorBuilder
setTimeout(org.opendaylight.yangtools.yang.common.Uint32 value)
HealthmonitorBuilder
setType(Class<? extends ProbeBase> value)
HealthmonitorBuilder
setUrlPath(String value)
HealthmonitorBuilder
setUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
HealthmonitorBuilder
withKey(HealthmonitorKey key)
-
-
-
Constructor Detail
-
HealthmonitorBuilder
public HealthmonitorBuilder()
-
HealthmonitorBuilder
public HealthmonitorBuilder(IdAttributes arg)
-
HealthmonitorBuilder
public HealthmonitorBuilder(HealthmonitorAttributes arg)
-
HealthmonitorBuilder
public HealthmonitorBuilder(Healthmonitor 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:- HealthmonitorAttributes
- IdAttributes
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
key
public HealthmonitorKey key()
-
getAdminStateUp
public Boolean getAdminStateUp()
-
getDelay
public org.opendaylight.yangtools.yang.common.Uint32 getDelay()
-
getExpectedCodes
public String getExpectedCodes()
-
getHttpMethod
public String getHttpMethod()
-
getMaxRetries
public org.opendaylight.yangtools.yang.common.Uint16 getMaxRetries()
-
getPools
public List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getPools()
-
getProjectId
public String getProjectId()
-
getRevisionNumber
public Long getRevisionNumber()
-
getTenantId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getTenantId()
-
getTimeout
public org.opendaylight.yangtools.yang.common.Uint32 getTimeout()
-
getUrlPath
public String getUrlPath()
-
getUuid
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getUuid()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> E$$ augmentation(Class<E$$> augmentationType)
-
withKey
public HealthmonitorBuilder withKey(HealthmonitorKey key)
-
setAdminStateUp
public HealthmonitorBuilder setAdminStateUp(Boolean value)
-
setDelay
public HealthmonitorBuilder setDelay(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setExpectedCodes
public HealthmonitorBuilder setExpectedCodes(String value)
-
setHttpMethod
public HealthmonitorBuilder setHttpMethod(String value)
-
setMaxRetries
public HealthmonitorBuilder setMaxRetries(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setPools
public HealthmonitorBuilder setPools(List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
-
setProjectId
public HealthmonitorBuilder setProjectId(String value)
-
setRevisionNumber
public HealthmonitorBuilder setRevisionNumber(Long value)
-
setTenantId
public HealthmonitorBuilder setTenantId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setTimeout
public HealthmonitorBuilder setTimeout(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setType
public HealthmonitorBuilder setType(Class<? extends ProbeBase> value)
-
setUrlPath
public HealthmonitorBuilder setUrlPath(String value)
-
setUuid
public HealthmonitorBuilder setUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
addAugmentation
public HealthmonitorBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor> augmentation)
Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
NullPointerException
- ifaugmentation
is null
-
removeAugmentation
public HealthmonitorBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> 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 Healthmonitor build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<Healthmonitor>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<Healthmonitor,IllegalArgumentException>
-
-