# Interface MultiDocPrintService

All Superinterfaces:
  `PrintService`

public interface MultiDocPrintService extends PrintService
Interface `MultiPrintService` is the factory for a `MultiDocPrintJob`. A `MultiPrintService` describes the capabilities of a printer and can be queried regarding a printer's supported attributes.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `MultiDocPrintJob`
  `createMultiDocPrintJob()`
  Create a job which can print a multiDoc.

  ### Methods declared in interface PrintService

  `addPrintServiceAttributeListener, createPrintJob, equals, getAttribute, getAttributes, getDefaultAttributeValue, getName, getServiceUIFactory, getSupportedAttributeCategories, getSupportedAttributeValues, getSupportedDocFlavors, getUnsupportedAttributes, hashCode, isAttributeCategorySupported, isAttributeValueSupported, isDocFlavorSupported, removePrintServiceAttributeListener`
  Modifier and Type
  Method
  Description
  `void`
  `addPrintServiceAttributeListener(PrintServiceAttributeListener listener)`
  Registers a listener for events on this `PrintService`.
  `DocPrintJob`
  `createPrintJob()`
  Creates and returns a `PrintJob` capable of handling data from any of the supported document flavors.
  `boolean`
  `equals(Object obj)`
  Determines if two services are referring to the same underlying service.
  `<T extends PrintServiceAttribute>
  T`
  `getAttribute(Class<T> category)`
  Gets the value of the single specified service attribute.
  `PrintServiceAttributeSet`
  `getAttributes()`
  Obtains this print service's set of printer description attributes giving this Print Service's status.
  `Object`
  `getDefaultAttributeValue(Class<? extends Attribute> category)`
  Determines this print service's default printing attribute value in the given category.
  `String`
  `getName()`
  Returns a string name for this print service which may be used by applications to request a particular print service.
  `ServiceUIFactory`
  `getServiceUIFactory()`
  Returns a factory for UI components which allow users to interact with the service in various roles.
  `Class<?>[]`
  `getSupportedAttributeCategories()`
  Determines the printing attribute categories a client can specify when setting up a job for this print service.
  `Object`
  `getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)`
  Determines the printing attribute values a client can specify in the given category when setting up a job for this print service.
  `DocFlavor[]`
  `getSupportedDocFlavors()`
  Determines the print data formats a client can specify when setting up a job for this `PrintService`.
  `AttributeSet`
  `getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)`
  Identifies the attributes that are unsupported for a print request in the context of a particular `DocFlavor`.
  `int`
  `hashCode()`
  This method should be implemented consistently with `equals(Object)`.
  `boolean`
  `isAttributeCategorySupported(Class<? extends Attribute> category)`
  Determines whether a client can specify the given printing attribute category when setting up a job for this print service.
  `boolean`
  `isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)`
  Determines whether a client can specify the given printing attribute value when setting up a job for this Print Service.
  `boolean`
  `isDocFlavorSupported(DocFlavor flavor)`
  Determines if this print service supports a specific `DocFlavor`.
  `void`
  `removePrintServiceAttributeListener(PrintServiceAttributeListener listener)`
  Removes the print-service listener from this print service.

- ## Method Details

  - ### createMultiDocPrintJob

    MultiDocPrintJob createMultiDocPrintJob()
    Create a job which can print a multiDoc.
    Returns:
      a `MultiDocPrintJob`