Class IssuerBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927._switch.certificate.IssuerBuilder
-
@Generated("mdsal-binding-generator") public class IssuerBuilder extends Object
Class that buildsIssuer
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:
Issuer createIssuer(int fooXyzzy, int barBaz) { return new IssuerBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of Issuer, 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 opportunities, 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:
Issuer
- 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
-
-
Constructor Summary
Constructors Constructor Description IssuerBuilder()
Construct an empty builder.IssuerBuilder(Issuer base)
Construct a builder initialized with state from specifiedIssuer
.IssuerBuilder(X500Principal arg)
Construct a new builder initialized from specifiedX500Principal
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IssuerBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Issuer> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Issuer>>
E$$augmentation(Class<E$$> augmentationType)
Return the specified augmentation, if it is present in this builder.@NonNull Issuer
build()
A newIssuer
instance.void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.String
getCommonName()
Return current value associated with the property corresponding toX500Principal.getCommonName()
.String
getCountry()
Return current value associated with the property corresponding toX500Principal.getCountry()
.String
getLocality()
Return current value associated with the property corresponding toX500Principal.getLocality()
.String
getOrganization()
Return current value associated with the property corresponding toX500Principal.getOrganization()
.String
getOrganizationUnit()
Return current value associated with the property corresponding toX500Principal.getOrganizationUnit()
.String
getState()
Return current value associated with the property corresponding toX500Principal.getState()
.IssuerBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Issuer>> augmentationType)
Remove an augmentation from this builder's product.IssuerBuilder
setCommonName(String value)
Set the property corresponding toX500Principal.getCommonName()
to the specified value.IssuerBuilder
setCountry(String value)
Set the property corresponding toX500Principal.getCountry()
to the specified value.IssuerBuilder
setLocality(String value)
Set the property corresponding toX500Principal.getLocality()
to the specified value.IssuerBuilder
setOrganization(String value)
Set the property corresponding toX500Principal.getOrganization()
to the specified value.IssuerBuilder
setOrganizationUnit(String value)
Set the property corresponding toX500Principal.getOrganizationUnit()
to the specified value.IssuerBuilder
setState(String value)
Set the property corresponding toX500Principal.getState()
to the specified value.
-
-
-
Constructor Detail
-
IssuerBuilder
public IssuerBuilder()
Construct an empty builder.
-
IssuerBuilder
public IssuerBuilder(X500Principal arg)
Construct a new builder initialized from specifiedX500Principal
.- Parameters:
arg
- X500Principal from which the builder should be initialized
-
-
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:- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getCommonName
public String getCommonName()
Return current value associated with the property corresponding toX500Principal.getCommonName()
.- Returns:
- current value
-
getCountry
public String getCountry()
Return current value associated with the property corresponding toX500Principal.getCountry()
.- Returns:
- current value
-
getLocality
public String getLocality()
Return current value associated with the property corresponding toX500Principal.getLocality()
.- Returns:
- current value
-
getOrganization
public String getOrganization()
Return current value associated with the property corresponding toX500Principal.getOrganization()
.- Returns:
- current value
-
getOrganizationUnit
public String getOrganizationUnit()
Return current value associated with the property corresponding toX500Principal.getOrganizationUnit()
.- Returns:
- current value
-
getState
public String getState()
Return current value associated with the property corresponding toX500Principal.getState()
.- Returns:
- current value
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Issuer>> E$$ augmentation(Class<E$$> augmentationType)
Return the specified augmentation, if it is present in this builder.- Type Parameters:
E$$
- augmentation type- Parameters:
augmentationType
- augmentation type class- Returns:
- Augmentation object from this builder, or
null
if not present - Throws:
NullPointerException
- ifaugmentType
isnull
-
setCommonName
public IssuerBuilder setCommonName(String value)
Set the property corresponding toX500Principal.getCommonName()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setCountry
public IssuerBuilder setCountry(String value)
Set the property corresponding toX500Principal.getCountry()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setLocality
public IssuerBuilder setLocality(String value)
Set the property corresponding toX500Principal.getLocality()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setOrganization
public IssuerBuilder setOrganization(String value)
Set the property corresponding toX500Principal.getOrganization()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setOrganizationUnit
public IssuerBuilder setOrganizationUnit(String value)
Set the property corresponding toX500Principal.getOrganizationUnit()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setState
public IssuerBuilder setState(String value)
Set the property corresponding toX500Principal.getState()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
addAugmentation
public IssuerBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Issuer> 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 IssuerBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Issuer>> 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
-
-