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>
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 Deprecated Methods Modifier and Type Method Description HealthmonitorBuilder
addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor> augmentationValue)
Deprecated, for removal: This API element is subject to removal in a future version.Use eitheraddAugmentation(Augmentation)
orremoveAugmentation(Class)
instead.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.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()
Boolean
isAdminStateUp()
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(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetDelay(Uint32)
instead.HealthmonitorBuilder
setDelay(org.opendaylight.yangtools.yang.common.Uint32 value)
HealthmonitorBuilder
setExpectedCodes(String value)
HealthmonitorBuilder
setHttpMethod(String value)
HealthmonitorBuilder
setMaxRetries(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMaxRetries(Uint16)
instead.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(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetTimeout(Uint32)
instead.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:- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.HealthmonitorAttributes
- org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.attrs.rev150712.IdAttributes
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types
-
key
public HealthmonitorKey key()
-
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()
-
isAdminStateUp
public Boolean isAdminStateUp()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> E$$ augmentation(Class<E$$> augmentationType)
-
withKey
public HealthmonitorBuilder withKey(HealthmonitorKey key)
-
setDelay
public HealthmonitorBuilder setDelay(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setDelay
@Deprecated(forRemoval=true) public HealthmonitorBuilder setDelay(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetDelay(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setExpectedCodes
public HealthmonitorBuilder setExpectedCodes(String value)
-
setHttpMethod
public HealthmonitorBuilder setHttpMethod(String value)
-
setMaxRetries
public HealthmonitorBuilder setMaxRetries(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setMaxRetries
@Deprecated(forRemoval=true) public HealthmonitorBuilder setMaxRetries(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMaxRetries(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
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)
-
setTimeout
@Deprecated(forRemoval=true) public HealthmonitorBuilder setTimeout(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetTimeout(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
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)
-
setAdminStateUp
public HealthmonitorBuilder setAdminStateUp(Boolean 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
-
addAugmentation
@Deprecated(forRemoval=true) public HealthmonitorBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor> 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 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>
-
-