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)
<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)
HealthmonitorBuilder
setAdminStateUp(Boolean value)
HealthmonitorBuilder
setDelay(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setDelay(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.Use {#link setMaxRetries(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.Use {#link setTimeout(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.Use {#link setDelay(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.Use {#link setMaxRetries(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.Use {#link setTimeout(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(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor> augmentationValue)
-
removeAugmentation
public HealthmonitorBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Healthmonitor>> augmentationType)
-
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>
-
-