Package com.io7m.jwheatsheaf.ui
Class JWFileItem.Builder
- java.lang.Object
-
- com.io7m.jwheatsheaf.ui.JWFileItem.Builder
-
- Enclosing class:
- JWFileItem
public static final class JWFileItem.Builder extends java.lang.ObjectBuilds instances of typeJWFileItem. 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 JWFileItembuild()Builds a newJWFileItem.JWFileItem.Builderfrom(JWFileItemType instance)Fill a builder with attribute values from the providedJWFileItemTypeinstance.JWFileItem.BuildersetDisplayName(java.lang.String displayName)Initializes the optional valuedisplayNameto displayName.JWFileItem.BuildersetDisplayName(java.util.Optional<java.lang.String> displayName)Initializes the optional valuedisplayNameto displayName.JWFileItem.BuildersetKind(JWFileKind kind)Initializes the value for thekindattribute.JWFileItem.BuildersetModifiedTime(java.nio.file.attribute.FileTime modifiedTime)Initializes the value for themodifiedTimeattribute.JWFileItem.BuildersetPath(java.nio.file.Path path)Initializes the value for thepathattribute.JWFileItem.BuildersetSize(long size)Initializes the value for thesizeattribute.
-
-
-
Method Detail
-
from
public final JWFileItem.Builder from(JWFileItemType instance)
Fill a builder with attribute values from the providedJWFileItemTypeinstance. 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
-
setKind
public final JWFileItem.Builder setKind(JWFileKind kind)
Initializes the value for thekindattribute.- Parameters:
kind- The value for kind- Returns:
thisbuilder for use in a chained invocation
-
setPath
public final JWFileItem.Builder setPath(java.nio.file.Path path)
Initializes the value for thepathattribute.- Parameters:
path- The value for path- Returns:
thisbuilder for use in a chained invocation
-
setSize
public final JWFileItem.Builder setSize(long size)
Initializes the value for thesizeattribute.- Parameters:
size- The value for size- Returns:
thisbuilder for use in a chained invocation
-
setModifiedTime
public final JWFileItem.Builder setModifiedTime(java.nio.file.attribute.FileTime modifiedTime)
Initializes the value for themodifiedTimeattribute.- Parameters:
modifiedTime- The value for modifiedTime- Returns:
thisbuilder for use in a chained invocation
-
setDisplayName
public final JWFileItem.Builder setDisplayName(java.lang.String displayName)
Initializes the optional valuedisplayNameto displayName.- Parameters:
displayName- The value for displayName- Returns:
thisbuilder for chained invocation
-
setDisplayName
public final JWFileItem.Builder setDisplayName(java.util.Optional<java.lang.String> displayName)
Initializes the optional valuedisplayNameto displayName.- Parameters:
displayName- The value for displayName- Returns:
thisbuilder for use in a chained invocation
-
build
public JWFileItem build()
Builds a newJWFileItem.- Returns:
- An immutable instance of JWFileItem
- Throws:
java.lang.IllegalStateException- if any required attributes are missing
-
-