Package pl.poznan.put.torsion
Class ImmutableAtomPair.Builder
- java.lang.Object
-
- pl.poznan.put.torsion.ImmutableAtomPair.Builder
-
- Enclosing class:
- ImmutableAtomPair
@NotThreadSafe public static final class ImmutableAtomPair.Builder extends Object
Builds instances of typeImmutableAtomPair. Initialize attributes and then invoke thebuild()method to create an immutable instance.Builderis not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableAtomPairbuild()Builds a newImmutableAtomPair.ImmutableAtomPair.Builderfrom(AtomPair instance)Fill a builder with attribute values from the providedAtomPairinstance.ImmutableAtomPair.BuilderleftAtom(PdbAtomLine leftAtom)Initializes the value for theleftAtomattribute.ImmutableAtomPair.BuilderrightAtom(PdbAtomLine rightAtom)Initializes the value for therightAtomattribute.
-
-
-
Method Detail
-
from
public final ImmutableAtomPair.Builder from(AtomPair instance)
Fill a builder with attribute values from the providedAtomPairinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
leftAtom
public final ImmutableAtomPair.Builder leftAtom(PdbAtomLine leftAtom)
Initializes the value for theleftAtomattribute.- Parameters:
leftAtom- The value for leftAtom- Returns:
thisbuilder for use in a chained invocation
-
rightAtom
public final ImmutableAtomPair.Builder rightAtom(PdbAtomLine rightAtom)
Initializes the value for therightAtomattribute.- Parameters:
rightAtom- The value for rightAtom- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableAtomPair build()
Builds a newImmutableAtomPair.- Returns:
- An immutable instance of AtomPair
- Throws:
IllegalStateException- if any required attributes are missing
-
-