Package com.io7m.smfj.validation.api
Class SMFSchemaAttribute.Builder
- java.lang.Object
-
- com.io7m.smfj.validation.api.SMFSchemaAttribute.Builder
-
- Enclosing class:
- SMFSchemaAttribute
public static final class SMFSchemaAttribute.Builder extends java.lang.ObjectBuilds instances of typeSMFSchemaAttribute. 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 SMFSchemaAttributebuild()Builds a newSMFSchemaAttribute.SMFSchemaAttribute.Builderfrom(SMFSchemaAttributeType instance)Fill a builder with attribute values from the providedSMFSchemaAttributeTypeinstance.SMFSchemaAttribute.BuildersetName(SMFAttributeName name)Initializes the value for thenameattribute.SMFSchemaAttribute.BuildersetRequiredComponentCount(int requiredComponentCount)Initializes the optional valuerequiredComponentCountto requiredComponentCount.SMFSchemaAttribute.BuildersetRequiredComponentCount(java.util.OptionalInt requiredComponentCount)Initializes the optional valuerequiredComponentCountto requiredComponentCount.SMFSchemaAttribute.BuildersetRequiredComponentSize(int requiredComponentSize)Initializes the optional valuerequiredComponentSizeto requiredComponentSize.SMFSchemaAttribute.BuildersetRequiredComponentSize(java.util.OptionalInt requiredComponentSize)Initializes the optional valuerequiredComponentSizeto requiredComponentSize.SMFSchemaAttribute.BuildersetRequiredComponentType(SMFComponentType requiredComponentType)Initializes the optional valuerequiredComponentTypeto requiredComponentType.SMFSchemaAttribute.BuildersetRequiredComponentType(java.util.Optional<? extends SMFComponentType> requiredComponentType)Initializes the optional valuerequiredComponentTypeto requiredComponentType.
-
-
-
Method Detail
-
from
public final SMFSchemaAttribute.Builder from(SMFSchemaAttributeType instance)
Fill a builder with attribute values from the providedSMFSchemaAttributeTypeinstance. 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
-
setName
public final SMFSchemaAttribute.Builder setName(SMFAttributeName name)
Initializes the value for thenameattribute.- Parameters:
name- The value for name- Returns:
thisbuilder for use in a chained invocation
-
setRequiredComponentType
public final SMFSchemaAttribute.Builder setRequiredComponentType(SMFComponentType requiredComponentType)
Initializes the optional valuerequiredComponentTypeto requiredComponentType.- Parameters:
requiredComponentType- The value for requiredComponentType- Returns:
thisbuilder for chained invocation
-
setRequiredComponentType
public final SMFSchemaAttribute.Builder setRequiredComponentType(java.util.Optional<? extends SMFComponentType> requiredComponentType)
Initializes the optional valuerequiredComponentTypeto requiredComponentType.- Parameters:
requiredComponentType- The value for requiredComponentType- Returns:
thisbuilder for use in a chained invocation
-
setRequiredComponentCount
public final SMFSchemaAttribute.Builder setRequiredComponentCount(int requiredComponentCount)
Initializes the optional valuerequiredComponentCountto requiredComponentCount.- Parameters:
requiredComponentCount- The value for requiredComponentCount- Returns:
thisbuilder for chained invocation
-
setRequiredComponentCount
public final SMFSchemaAttribute.Builder setRequiredComponentCount(java.util.OptionalInt requiredComponentCount)
Initializes the optional valuerequiredComponentCountto requiredComponentCount.- Parameters:
requiredComponentCount- The value for requiredComponentCount- Returns:
thisbuilder for use in a chained invocation
-
setRequiredComponentSize
public final SMFSchemaAttribute.Builder setRequiredComponentSize(int requiredComponentSize)
Initializes the optional valuerequiredComponentSizeto requiredComponentSize.- Parameters:
requiredComponentSize- The value for requiredComponentSize- Returns:
thisbuilder for chained invocation
-
setRequiredComponentSize
public final SMFSchemaAttribute.Builder setRequiredComponentSize(java.util.OptionalInt requiredComponentSize)
Initializes the optional valuerequiredComponentSizeto requiredComponentSize.- Parameters:
requiredComponentSize- The value for requiredComponentSize- Returns:
thisbuilder for use in a chained invocation
-
build
public SMFSchemaAttribute build()
Builds a newSMFSchemaAttribute.- Returns:
- An immutable instance of SMFSchemaAttribute
- Throws:
java.lang.IllegalStateException- if any required attributes are missing
-
-