# Class XSProcessorRequest.Builder

java.lang.Object
com.io7m.xstructural.api.XSProcessorRequest.Builder

Enclosing class:
  `XSProcessorRequest`

public static final class XSProcessorRequest.Builder extends Object
Builds instances of type `XSProcessorRequest`. Initialize attributes and then invoke the `build()` method to create an immutable instance.

`Builder` is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `XSProcessorRequest`
  `build()`
  Builds a new `XSProcessorRequest`.
  `final XSProcessorRequest.Builder`
  `from(XSProcessorRequestType instance)`
  Fill a builder with attribute values from the provided `XSProcessorRequestType` instance.
  `final XSProcessorRequest.Builder`
  `setBrandingFile(Path brandingFile)`
  Initializes the optional value `brandingFile` to brandingFile.
  `final XSProcessorRequest.Builder`
  `setBrandingFile(Optional<? extends Path> brandingFile)`
  Initializes the optional value `brandingFile` to brandingFile.
  `final XSProcessorRequest.Builder`
  `setMessageFile(Path messageFile)`
  Initializes the value for the `messageFile` attribute.
  `final XSProcessorRequest.Builder`
  `setOutputDirectory(Path outputDirectory)`
  Initializes the value for the `outputDirectory` attribute.
  `final XSProcessorRequest.Builder`
  `setOutputName(String outputName)`
  Initializes the optional value `outputName` to outputName.
  `final XSProcessorRequest.Builder`
  `setOutputName(Optional<String> outputName)`
  Initializes the optional value `outputName` to outputName.
  `final XSProcessorRequest.Builder`
  `setSourceFile(Path sourceFile)`
  Initializes the value for the `sourceFile` attribute.
  `final XSProcessorRequest.Builder`
  `setStylesheet(XSProcessorRequestType.Stylesheet stylesheet)`
  Initializes the value for the `stylesheet` attribute.
  `final XSProcessorRequest.Builder`
  `setTask(XSProcessorRequestType.Task task)`
  Initializes the value for the `task` attribute.
  `final XSProcessorRequest.Builder`
  `setTraceFile(Path traceFile)`
  Initializes the value for the `traceFile` attribute.
  `final XSProcessorRequest.Builder`
  `setTypeDescriptionFile(Path typeDescriptionFile)`
  Initializes the optional value `typeDescriptionFile` to typeDescriptionFile.
  `final XSProcessorRequest.Builder`
  `setTypeDescriptionFile(Optional<? extends Path> typeDescriptionFile)`
  Initializes the optional value `typeDescriptionFile` to typeDescriptionFile.
  `final XSProcessorRequest.Builder`
  `setWriteResources(boolean writeResources)`
  Initializes the value for the `writeResources` attribute.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### from

    public final XSProcessorRequest.Builder from(XSProcessorRequestType instance)
    Fill a builder with attribute values from the provided `XSProcessorRequestType` instance. 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:
      `this` builder for use in a chained invocation

  - ### setOutputDirectory

    public final XSProcessorRequest.Builder setOutputDirectory(Path outputDirectory)
    Initializes the value for the `outputDirectory` attribute.
    Parameters:
      `outputDirectory` - The value for outputDirectory
    Returns:
      `this` builder for use in a chained invocation

  - ### setSourceFile

    public final XSProcessorRequest.Builder setSourceFile(Path sourceFile)
    Initializes the value for the `sourceFile` attribute.
    Parameters:
      `sourceFile` - The value for sourceFile
    Returns:
      `this` builder for use in a chained invocation

  - ### setTask

    public final XSProcessorRequest.Builder setTask(XSProcessorRequestType.Task task)
    Initializes the value for the `task` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `task`.

    Parameters:
      `task` - The value for task
    Returns:
      `this` builder for use in a chained invocation

  - ### setStylesheet

    public final XSProcessorRequest.Builder setStylesheet(XSProcessorRequestType.Stylesheet stylesheet)
    Initializes the value for the `stylesheet` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `stylesheet`.

    Parameters:
      `stylesheet` - The value for stylesheet
    Returns:
      `this` builder for use in a chained invocation

  - ### setWriteResources

    public final XSProcessorRequest.Builder setWriteResources(boolean writeResources)
    Initializes the value for the `writeResources` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `writeResources`.

    Parameters:
      `writeResources` - The value for writeResources
    Returns:
      `this` builder for use in a chained invocation

  - ### setTraceFile

    public final XSProcessorRequest.Builder setTraceFile(Path traceFile)
    Initializes the value for the `traceFile` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `traceFile`.

    Parameters:
      `traceFile` - The value for traceFile
    Returns:
      `this` builder for use in a chained invocation

  - ### setMessageFile

    public final XSProcessorRequest.Builder setMessageFile(Path messageFile)
    Initializes the value for the `messageFile` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `messageFile`.

    Parameters:
      `messageFile` - The value for messageFile
    Returns:
      `this` builder for use in a chained invocation

  - ### setBrandingFile

    public final XSProcessorRequest.Builder setBrandingFile(Path brandingFile)
    Initializes the optional value `brandingFile` to brandingFile.
    Parameters:
      `brandingFile` - The value for brandingFile
    Returns:
      `this` builder for chained invocation

  - ### setBrandingFile

    public final XSProcessorRequest.Builder setBrandingFile(Optional<? extends Path> brandingFile)
    Initializes the optional value `brandingFile` to brandingFile.
    Parameters:
      `brandingFile` - The value for brandingFile
    Returns:
      `this` builder for use in a chained invocation

  - ### setOutputName

    public final XSProcessorRequest.Builder setOutputName(String outputName)
    Initializes the optional value `outputName` to outputName.
    Parameters:
      `outputName` - The value for outputName
    Returns:
      `this` builder for chained invocation

  - ### setOutputName

    public final XSProcessorRequest.Builder setOutputName(Optional<String> outputName)
    Initializes the optional value `outputName` to outputName.
    Parameters:
      `outputName` - The value for outputName
    Returns:
      `this` builder for use in a chained invocation

  - ### setTypeDescriptionFile

    public final XSProcessorRequest.Builder setTypeDescriptionFile(Path typeDescriptionFile)
    Initializes the optional value `typeDescriptionFile` to typeDescriptionFile.
    Parameters:
      `typeDescriptionFile` - The value for typeDescriptionFile
    Returns:
      `this` builder for chained invocation

  - ### setTypeDescriptionFile

    public final XSProcessorRequest.Builder setTypeDescriptionFile(Optional<? extends Path> typeDescriptionFile)
    Initializes the optional value `typeDescriptionFile` to typeDescriptionFile.
    Parameters:
      `typeDescriptionFile` - The value for typeDescriptionFile
    Returns:
      `this` builder for use in a chained invocation

  - ### build

    public XSProcessorRequest build()
    Builds a new `XSProcessorRequest`.
    Returns:
      An immutable instance of XSProcessorRequest
    Throws:
      `IllegalStateException` - if any required attributes are missing