Java 类javax.print.attribute.standard.JobHoldUntil 实例源码

项目:javify    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
 */
public Object getDefaultAttributeValue(Class<? extends Attribute> category)
{
  // required attributes
  if (category.equals(Fidelity.class))
    return Fidelity.FIDELITY_FALSE;
  if (category.equals(JobName.class))
    return JOB_NAME;
  if (category.equals(RequestingUserName.class))
    return REQUESTING_USER_NAME;

  // optional attributes
  if (category.equals(JobPriority.class)
      && printerAttr.containsKey(JobPriorityDefault.class))
    return getPrinterDefaultAttribute(JobPriorityDefault.class);
  if (category.equals(JobHoldUntil.class)
      && printerAttr.containsKey(JobHoldUntilDefault.class))
    return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
  if (category.equals(JobSheets.class)
      && printerAttr.containsKey(JobSheetsDefault.class))
    return getPrinterDefaultAttribute(JobSheetsDefault .class);
  if (category.equals(MultipleDocumentHandling.class)
      && printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
    return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
  if (category.equals(Copies.class)
      && printerAttr.containsKey(CopiesDefault.class))
    return getPrinterDefaultAttribute(CopiesDefault.class);
  if (category.equals(Finishings.class)
      && printerAttr.containsKey(FinishingsDefault.class))
    return getPrinterDefaultAttribute(FinishingsDefault.class);
  if (category.equals(Sides.class)
      && printerAttr.containsKey(SidesDefault.class))
    return getPrinterDefaultAttribute(SidesDefault.class);
  if (category.equals(NumberUp.class)
      && printerAttr.containsKey(NumberUpDefault.class))
    return getPrinterDefaultAttribute(NumberUpDefault.class);
  if (category.equals(OrientationRequested.class)
      && printerAttr.containsKey(OrientationRequestedDefault.class))
    return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
  if (category.equals(Media.class)
      && printerAttr.containsKey(MediaDefault.class))
    return getPrinterDefaultAttribute(MediaDefault.class);
  if (category.equals(PrinterResolution.class)
      && printerAttr.containsKey(PrinterResolutionDefault.class))
    return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
  if (category.equals(PrintQuality.class)
      && printerAttr.containsKey(PrintQualityDefault.class))
    return getPrinterDefaultAttribute(PrintQualityDefault.class);
  if (category.equals(Compression.class)
      && printerAttr.containsKey(CompressionSupported.class))
    return Compression.NONE;
  if (category.equals(PageRanges.class))
    return new PageRanges(1, Integer.MAX_VALUE);

  return null;
}
项目:javify    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getSupportedAttributeCategories()
 */
public Class<?>[] getSupportedAttributeCategories()
{
  Set<Class<? extends Attribute>> categories =
    new HashSet<Class<? extends Attribute>>();

  // Should only be job template attributes as of section 4.2
  if (printerAttr.containsKey(JobPrioritySupported.class))
    categories.add(JobPriority.class);
  if (printerAttr.containsKey(JobHoldUntilSupported.class))
    categories.add(JobHoldUntil.class);
  if (printerAttr.containsKey(JobSheetsSupported.class))
    categories.add(JobSheets.class);
  if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
    categories.add(MultipleDocumentHandling.class);
  if (printerAttr.containsKey(CopiesSupported.class))
    categories.add(Copies.class);
  if (printerAttr.containsKey(FinishingsSupported.class))
    {
      // if only none finishing is supported - it does not count as supported
      Set<FinishingsSupported> set = getPrinterAttributeSet(FinishingsSupported.class);
      if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
        categories.add(Finishings.class);
    }
  if (printerAttr.containsKey(PageRangesSupported.class))
    categories.add(PageRanges.class);
  if (printerAttr.containsKey(SidesSupported.class))
    categories.add(Sides.class);
  if (printerAttr.containsKey(NumberUpSupported.class))
    categories.add(NumberUp.class);
  if (printerAttr.containsKey(OrientationRequestedSupported.class))
    categories.add(OrientationRequested.class);
  if (printerAttr.containsKey(MediaSupported.class))
    categories.add(Media.class);
  if (printerAttr.containsKey(PrinterResolutionSupported.class))
    categories.add(PrinterResolution.class);
  if (printerAttr.containsKey(PrintQualitySupported.class))
    categories.add(PrintQuality.class);

  // Chromaticity, Destination, MediaPrintableArea,
  // SheetCollate, PresentationDirection - not IPP attributes

  // attributes outside section 4.2
  if (printerAttr.containsKey(CompressionSupported.class))
    categories.add(Compression.class);
  if (printerAttr.containsKey(JobImpressionsSupported.class))
    categories.add(JobImpressions.class);
  if (printerAttr.containsKey(JobKOctetsSupported.class))
    categories.add(JobKOctets.class);
  if (printerAttr.containsKey(JobMediaSheetsSupported.class))
    categories.add(JobMediaSheets.class);

  // always supported as required by IPP specification
  categories.add(Fidelity.class);
  categories.add(JobName.class);
  categories.add(RequestingUserName.class);

  return categories.toArray(new Class[categories.size()]);
}
项目:javify    文件:IppPrintService.java   
/**
 * Called to handle the supported attribute values response for the given
 * category. This might be overridden by subclasses with different requirements
 * for parsing/handling the response from the GetPrinterAttributes.
 *
 * @param response the response of the GetPrinterAttributes IPP request
 * @param category the category for which the supported values are requested
 * @return A object indicating the supported values for the given attribute
 * category, or <code>null</code> if this print service doesn't support the
 * given attribute category at all.
 *
 * @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
 */
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
                                                        Class<? extends Attribute> category)
{
  List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAtts =
    response.getPrinterAttributes();

  // only one will be returned
  Map<Class<? extends Attribute>, Set<Attribute>> printerAttribute = printerAtts.get(0);
  Class<? extends Attribute> suppCategory = IppUtilities.getSupportedCategory(category);
  Set<Attribute> attr = printerAttribute.get(suppCategory);

  // We sometime assume its a single instance with arbritrary value just indicating
  // support or an array which is returned. This is because I sometimes just choosed
  // what sounds right to me - as I have yet to find a printer which supports every
  // special category in the SUN implementation to see what they return :-)

  //  Map whats in the JSP API
  if (suppCategory.equals(JobPrioritySupported.class))
    return (JobPrioritySupported) attr.iterator().next();
  if (suppCategory.equals(JobHoldUntilSupported.class))
    return new JobHoldUntil(new Date());
  if (suppCategory.equals(JobSheetsSupported.class))
    return JobSheetsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
    return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CopiesSupported.class))
    return (CopiesSupported) attr.iterator().next();
  if (suppCategory.equals(FinishingsSupported.class))
    return FinishingsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PageRangesSupported.class))
    return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) };
  if (suppCategory.equals(OrientationRequestedSupported.class))
    return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MediaSupported.class))
    return MediaSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrinterResolutionSupported.class))
    return PrinterResolutionSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrintQualitySupported.class))
    return PrintQualitySupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CompressionSupported.class))
    return CompressionSupported.getAssociatedAttributeArray(attr);
  // Special handling as it might also be in range of integers
  if (suppCategory.equals(NumberUpSupported.class))
    {
      if (attr.size() == 1) // number-up maybe in rangeofintegers
        return attr.iterator().next();

      int[][] members = new int[attr.size()][2];
      Iterator<Attribute> it = attr.iterator();
      for (int j = 0; j < attr.size(); j++)
        {
          int value = ((NumberUpSupported) it.next()).getMembers()[0][0];
          members[j] = new int[] { value, value };
        }

      NumberUpSupported supported = new NumberUpSupported(members);
      return supported;
    }

  return null;
}
项目:jvm-stm    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
 */
public Object getDefaultAttributeValue(Class category)
{ 
  // required attributes
  if (category.equals(Fidelity.class))
    return Fidelity.FIDELITY_FALSE;    
  if (category.equals(JobName.class))
    return JOB_NAME;
  if (category.equals(RequestingUserName.class))
    return REQUESTING_USER_NAME;

  // optional attributes
  if (category.equals(JobPriority.class) 
      && printerAttr.containsKey(JobPriorityDefault.class))
    return getPrinterDefaultAttribute(JobPriorityDefault.class);
  if (category.equals(JobHoldUntil.class) 
      && printerAttr.containsKey(JobHoldUntilDefault.class))
    return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
  if (category.equals(JobSheets.class) 
      && printerAttr.containsKey(JobSheetsDefault.class))
    return getPrinterDefaultAttribute(JobSheetsDefault .class);
  if (category.equals(MultipleDocumentHandling.class) 
      && printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
    return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
  if (category.equals(Copies.class) 
      && printerAttr.containsKey(CopiesDefault.class))
    return getPrinterDefaultAttribute(CopiesDefault.class);
  if (category.equals(Finishings.class) 
      && printerAttr.containsKey(FinishingsDefault.class))
    return getPrinterDefaultAttribute(FinishingsDefault.class);
  if (category.equals(Sides.class) 
      && printerAttr.containsKey(SidesDefault.class))
    return getPrinterDefaultAttribute(SidesDefault.class);
  if (category.equals(NumberUp.class) 
      && printerAttr.containsKey(NumberUpDefault.class))
    return getPrinterDefaultAttribute(NumberUpDefault.class);
  if (category.equals(OrientationRequested.class) 
      && printerAttr.containsKey(OrientationRequestedDefault.class))
    return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
  if (category.equals(Media.class) 
      && printerAttr.containsKey(MediaDefault.class))
    return getPrinterDefaultAttribute(MediaDefault.class);
  if (category.equals(PrinterResolution.class) 
      && printerAttr.containsKey(PrinterResolutionDefault.class))
    return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
  if (category.equals(PrintQuality.class) 
      && printerAttr.containsKey(PrintQualityDefault.class))
    return getPrinterDefaultAttribute(PrintQualityDefault.class);
  if (category.equals(Compression.class) 
      && printerAttr.containsKey(CompressionSupported.class))
    return Compression.NONE;
  if (category.equals(PageRanges.class))
    return new PageRanges(1, Integer.MAX_VALUE);

  return null; 
}
项目:jvm-stm    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getSupportedAttributeCategories()
 */
public Class[] getSupportedAttributeCategories()
{
  Set categories = new HashSet();

  // Should only be job template attributes as of section 4.2    
  if (printerAttr.containsKey(JobPrioritySupported.class))
    categories.add(JobPriority.class);
  if (printerAttr.containsKey(JobHoldUntilSupported.class))
    categories.add(JobHoldUntil.class);
  if (printerAttr.containsKey(JobSheetsSupported.class))
    categories.add(JobSheets.class);
  if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
    categories.add(MultipleDocumentHandling.class);    
  if (printerAttr.containsKey(CopiesSupported.class))
    categories.add(Copies.class);
  if (printerAttr.containsKey(FinishingsSupported.class))
    {
      // if only none finishing is supported - it does not count as supported
      Set set = getPrinterAttributeSet(FinishingsSupported.class);        
      if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))          
        categories.add(Finishings.class);
    }
  if (printerAttr.containsKey(PageRangesSupported.class))
    categories.add(PageRanges.class);
  if (printerAttr.containsKey(SidesSupported.class))
    categories.add(Sides.class);
  if (printerAttr.containsKey(NumberUpSupported.class))
    categories.add(NumberUp.class);
  if (printerAttr.containsKey(OrientationRequestedSupported.class))
    categories.add(OrientationRequested.class);
  if (printerAttr.containsKey(MediaSupported.class))
    categories.add(Media.class);
  if (printerAttr.containsKey(PrinterResolutionSupported.class))
    categories.add(PrinterResolution.class);
  if (printerAttr.containsKey(PrintQualitySupported.class))
    categories.add(PrintQuality.class);

  // Chromaticity, Destination, MediaPrintableArea, 
  // SheetCollate, PresentationDirection - not IPP attributes

  // attributes outside section 4.2   
  if (printerAttr.containsKey(CompressionSupported.class))
    categories.add(Compression.class);
  if (printerAttr.containsKey(JobImpressionsSupported.class))
    categories.add(JobImpressions.class);
  if (printerAttr.containsKey(JobKOctetsSupported.class))
    categories.add(JobKOctets.class);
  if (printerAttr.containsKey(JobMediaSheetsSupported.class))
    categories.add(JobMediaSheets.class);

  // always supported as required by IPP specification
  categories.add(Fidelity.class);
  categories.add(JobName.class);
  categories.add(RequestingUserName.class);

  return (Class[]) categories.toArray(new Class[categories.size()]);
}
项目:jvm-stm    文件:IppPrintService.java   
/**
 * Called to handle the supported attribute values response for the given
 * category. This might be overridden by subclasses with different requirements
 * for parsing/handling the response from the GetPrinterAttributes.
 * 
 * @param response the response of the GetPrinterAttributes IPP request
 * @param category the category for which the supported values are requested
 * @return A object indicating the supported values for the given attribute 
 * category, or <code>null</code> if this print service doesn't support the 
 * given attribute category at all.
 * 
 * @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
 */
protected Object handleSupportedAttributeValuesResponse(IppResponse response, 
  Class category)
{
  List printerAtts = response.getPrinterAttributes();

  // only one will be returned
  Map printerAttribute = (Map) printerAtts.get(0);
  Class suppCategory = IppUtilities.getSupportedCategory(category);
  Set attr = (Set) printerAttribute.get(suppCategory);

  // We sometime assume its a single instance with arbritrary value just indicating 
  // support or an array which is returned. This is because I sometimes just choosed
  // what sounds right to me - as I have yet to find a printer which supports every 
  // special category in the SUN implementation to see what they return :-)

  //  Map whats in the JSP API
  if (suppCategory.equals(JobPrioritySupported.class))
    return (JobPrioritySupported) attr.toArray(new JobPrioritySupported[1])[0];
  if (suppCategory.equals(JobHoldUntilSupported.class))
    return new JobHoldUntil(new Date());
  if (suppCategory.equals(JobSheetsSupported.class))
    return JobSheetsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
    return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CopiesSupported.class))
    return (CopiesSupported) attr.toArray(new CopiesSupported[1])[0];
  if (suppCategory.equals(FinishingsSupported.class))
    return FinishingsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PageRangesSupported.class))
    return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) };    
  if (suppCategory.equals(OrientationRequestedSupported.class))
    return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MediaSupported.class))
    return MediaSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrinterResolutionSupported.class))
    return PrinterResolutionSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrintQualitySupported.class))
    return PrintQualitySupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CompressionSupported.class))
    return CompressionSupported.getAssociatedAttributeArray(attr);
  // Special handling as it might also be in range of integers
  if (suppCategory.equals(NumberUpSupported.class))
    {
      NumberUpSupported[] tmp = (NumberUpSupported[]) 
        attr.toArray(new NumberUpSupported[attr.size()]);

      if (attr.size() == 1) // number-up maybe in rangeofintegers
        return tmp[0];

      int[][] members = new int[attr.size()][2];
      for (int j = 0; j < attr.size(); j++)
        {
          int value = tmp[j].getMembers()[0][0];
          members[j] = new int[] { value, value };
        }

      NumberUpSupported supported = new NumberUpSupported(members);
      return supported;
    }

  return null;
}
项目:JamVM-PH    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
 */
public Object getDefaultAttributeValue(Class category)
{ 
  // required attributes
  if (category.equals(Fidelity.class))
    return Fidelity.FIDELITY_FALSE;    
  if (category.equals(JobName.class))
    return JOB_NAME;
  if (category.equals(RequestingUserName.class))
    return REQUESTING_USER_NAME;

  // optional attributes
  if (category.equals(JobPriority.class) 
      && printerAttr.containsKey(JobPriorityDefault.class))
    return getPrinterDefaultAttribute(JobPriorityDefault.class);
  if (category.equals(JobHoldUntil.class) 
      && printerAttr.containsKey(JobHoldUntilDefault.class))
    return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
  if (category.equals(JobSheets.class) 
      && printerAttr.containsKey(JobSheetsDefault.class))
    return getPrinterDefaultAttribute(JobSheetsDefault .class);
  if (category.equals(MultipleDocumentHandling.class) 
      && printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
    return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
  if (category.equals(Copies.class) 
      && printerAttr.containsKey(CopiesDefault.class))
    return getPrinterDefaultAttribute(CopiesDefault.class);
  if (category.equals(Finishings.class) 
      && printerAttr.containsKey(FinishingsDefault.class))
    return getPrinterDefaultAttribute(FinishingsDefault.class);
  if (category.equals(Sides.class) 
      && printerAttr.containsKey(SidesDefault.class))
    return getPrinterDefaultAttribute(SidesDefault.class);
  if (category.equals(NumberUp.class) 
      && printerAttr.containsKey(NumberUpDefault.class))
    return getPrinterDefaultAttribute(NumberUpDefault.class);
  if (category.equals(OrientationRequested.class) 
      && printerAttr.containsKey(OrientationRequestedDefault.class))
    return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
  if (category.equals(Media.class) 
      && printerAttr.containsKey(MediaDefault.class))
    return getPrinterDefaultAttribute(MediaDefault.class);
  if (category.equals(PrinterResolution.class) 
      && printerAttr.containsKey(PrinterResolutionDefault.class))
    return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
  if (category.equals(PrintQuality.class) 
      && printerAttr.containsKey(PrintQualityDefault.class))
    return getPrinterDefaultAttribute(PrintQualityDefault.class);
  if (category.equals(Compression.class) 
      && printerAttr.containsKey(CompressionSupported.class))
    return Compression.NONE;
  if (category.equals(PageRanges.class))
    return new PageRanges(1, Integer.MAX_VALUE);

  return null; 
}
项目:JamVM-PH    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getSupportedAttributeCategories()
 */
public Class[] getSupportedAttributeCategories()
{
  Set categories = new HashSet();

  // Should only be job template attributes as of section 4.2    
  if (printerAttr.containsKey(JobPrioritySupported.class))
    categories.add(JobPriority.class);
  if (printerAttr.containsKey(JobHoldUntilSupported.class))
    categories.add(JobHoldUntil.class);
  if (printerAttr.containsKey(JobSheetsSupported.class))
    categories.add(JobSheets.class);
  if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
    categories.add(MultipleDocumentHandling.class);    
  if (printerAttr.containsKey(CopiesSupported.class))
    categories.add(Copies.class);
  if (printerAttr.containsKey(FinishingsSupported.class))
    {
      // if only none finishing is supported - it does not count as supported
      Set set = getPrinterAttributeSet(FinishingsSupported.class);        
      if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))          
        categories.add(Finishings.class);
    }
  if (printerAttr.containsKey(PageRangesSupported.class))
    categories.add(PageRanges.class);
  if (printerAttr.containsKey(SidesSupported.class))
    categories.add(Sides.class);
  if (printerAttr.containsKey(NumberUpSupported.class))
    categories.add(NumberUp.class);
  if (printerAttr.containsKey(OrientationRequestedSupported.class))
    categories.add(OrientationRequested.class);
  if (printerAttr.containsKey(MediaSupported.class))
    categories.add(Media.class);
  if (printerAttr.containsKey(PrinterResolutionSupported.class))
    categories.add(PrinterResolution.class);
  if (printerAttr.containsKey(PrintQualitySupported.class))
    categories.add(PrintQuality.class);

  // Chromaticity, Destination, MediaPrintableArea, 
  // SheetCollate, PresentationDirection - not IPP attributes

  // attributes outside section 4.2   
  if (printerAttr.containsKey(CompressionSupported.class))
    categories.add(Compression.class);
  if (printerAttr.containsKey(JobImpressionsSupported.class))
    categories.add(JobImpressions.class);
  if (printerAttr.containsKey(JobKOctetsSupported.class))
    categories.add(JobKOctets.class);
  if (printerAttr.containsKey(JobMediaSheetsSupported.class))
    categories.add(JobMediaSheets.class);

  // always supported as required by IPP specification
  categories.add(Fidelity.class);
  categories.add(JobName.class);
  categories.add(RequestingUserName.class);

  return (Class[]) categories.toArray(new Class[categories.size()]);
}
项目:JamVM-PH    文件:IppPrintService.java   
/**
 * Called to handle the supported attribute values response for the given
 * category. This might be overridden by subclasses with different requirements
 * for parsing/handling the response from the GetPrinterAttributes.
 * 
 * @param response the response of the GetPrinterAttributes IPP request
 * @param category the category for which the supported values are requested
 * @return A object indicating the supported values for the given attribute 
 * category, or <code>null</code> if this print service doesn't support the 
 * given attribute category at all.
 * 
 * @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
 */
protected Object handleSupportedAttributeValuesResponse(IppResponse response, 
  Class category)
{
  List printerAtts = response.getPrinterAttributes();

  // only one will be returned
  Map printerAttribute = (Map) printerAtts.get(0);
  Class suppCategory = IppUtilities.getSupportedCategory(category);
  Set attr = (Set) printerAttribute.get(suppCategory);

  // We sometime assume its a single instance with arbritrary value just indicating 
  // support or an array which is returned. This is because I sometimes just choosed
  // what sounds right to me - as I have yet to find a printer which supports every 
  // special category in the SUN implementation to see what they return :-)

  //  Map whats in the JSP API
  if (suppCategory.equals(JobPrioritySupported.class))
    return (JobPrioritySupported) attr.toArray(new JobPrioritySupported[1])[0];
  if (suppCategory.equals(JobHoldUntilSupported.class))
    return new JobHoldUntil(new Date());
  if (suppCategory.equals(JobSheetsSupported.class))
    return JobSheetsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
    return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CopiesSupported.class))
    return (CopiesSupported) attr.toArray(new CopiesSupported[1])[0];
  if (suppCategory.equals(FinishingsSupported.class))
    return FinishingsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PageRangesSupported.class))
    return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) };    
  if (suppCategory.equals(OrientationRequestedSupported.class))
    return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MediaSupported.class))
    return MediaSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrinterResolutionSupported.class))
    return PrinterResolutionSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrintQualitySupported.class))
    return PrintQualitySupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CompressionSupported.class))
    return CompressionSupported.getAssociatedAttributeArray(attr);
  // Special handling as it might also be in range of integers
  if (suppCategory.equals(NumberUpSupported.class))
    {
      NumberUpSupported[] tmp = (NumberUpSupported[]) 
        attr.toArray(new NumberUpSupported[attr.size()]);

      if (attr.size() == 1) // number-up maybe in rangeofintegers
        return tmp[0];

      int[][] members = new int[attr.size()][2];
      for (int j = 0; j < attr.size(); j++)
        {
          int value = tmp[j].getMembers()[0][0];
          members[j] = new int[] { value, value };
        }

      NumberUpSupported supported = new NumberUpSupported(members);
      return supported;
    }

  return null;
}
项目:classpath    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
 */
public Object getDefaultAttributeValue(Class<? extends Attribute> category)
{
  // required attributes
  if (category.equals(Fidelity.class))
    return Fidelity.FIDELITY_FALSE;
  if (category.equals(JobName.class))
    return JOB_NAME;
  if (category.equals(RequestingUserName.class))
    return REQUESTING_USER_NAME;

  // optional attributes
  if (category.equals(JobPriority.class)
      && printerAttr.containsKey(JobPriorityDefault.class))
    return getPrinterDefaultAttribute(JobPriorityDefault.class);
  if (category.equals(JobHoldUntil.class)
      && printerAttr.containsKey(JobHoldUntilDefault.class))
    return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
  if (category.equals(JobSheets.class)
      && printerAttr.containsKey(JobSheetsDefault.class))
    return getPrinterDefaultAttribute(JobSheetsDefault .class);
  if (category.equals(MultipleDocumentHandling.class)
      && printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
    return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
  if (category.equals(Copies.class)
      && printerAttr.containsKey(CopiesDefault.class))
    return getPrinterDefaultAttribute(CopiesDefault.class);
  if (category.equals(Finishings.class)
      && printerAttr.containsKey(FinishingsDefault.class))
    return getPrinterDefaultAttribute(FinishingsDefault.class);
  if (category.equals(Sides.class)
      && printerAttr.containsKey(SidesDefault.class))
    return getPrinterDefaultAttribute(SidesDefault.class);
  if (category.equals(NumberUp.class)
      && printerAttr.containsKey(NumberUpDefault.class))
    return getPrinterDefaultAttribute(NumberUpDefault.class);
  if (category.equals(OrientationRequested.class)
      && printerAttr.containsKey(OrientationRequestedDefault.class))
    return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
  if (category.equals(Media.class)
      && printerAttr.containsKey(MediaDefault.class))
    return getPrinterDefaultAttribute(MediaDefault.class);
  if (category.equals(PrinterResolution.class)
      && printerAttr.containsKey(PrinterResolutionDefault.class))
    return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
  if (category.equals(PrintQuality.class)
      && printerAttr.containsKey(PrintQualityDefault.class))
    return getPrinterDefaultAttribute(PrintQualityDefault.class);
  if (category.equals(Compression.class)
      && printerAttr.containsKey(CompressionSupported.class))
    return Compression.NONE;
  if (category.equals(PageRanges.class))
    return new PageRanges(1, Integer.MAX_VALUE);

  return null;
}
项目:classpath    文件:IppPrintService.java   
/**
 * @see javax.print.PrintService#getSupportedAttributeCategories()
 */
public Class<?>[] getSupportedAttributeCategories()
{
  Set<Class<? extends Attribute>> categories =
    new HashSet<Class<? extends Attribute>>();

  // Should only be job template attributes as of section 4.2
  if (printerAttr.containsKey(JobPrioritySupported.class))
    categories.add(JobPriority.class);
  if (printerAttr.containsKey(JobHoldUntilSupported.class))
    categories.add(JobHoldUntil.class);
  if (printerAttr.containsKey(JobSheetsSupported.class))
    categories.add(JobSheets.class);
  if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
    categories.add(MultipleDocumentHandling.class);
  if (printerAttr.containsKey(CopiesSupported.class))
    categories.add(Copies.class);
  if (printerAttr.containsKey(FinishingsSupported.class))
    {
      // if only none finishing is supported - it does not count as supported
      Set<FinishingsSupported> set = getPrinterAttributeSet(FinishingsSupported.class);
      if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
        categories.add(Finishings.class);
    }
  if (printerAttr.containsKey(PageRangesSupported.class))
    categories.add(PageRanges.class);
  if (printerAttr.containsKey(SidesSupported.class))
    categories.add(Sides.class);
  if (printerAttr.containsKey(NumberUpSupported.class))
    categories.add(NumberUp.class);
  if (printerAttr.containsKey(OrientationRequestedSupported.class))
    categories.add(OrientationRequested.class);
  if (printerAttr.containsKey(MediaSupported.class))
    categories.add(Media.class);
  if (printerAttr.containsKey(PrinterResolutionSupported.class))
    categories.add(PrinterResolution.class);
  if (printerAttr.containsKey(PrintQualitySupported.class))
    categories.add(PrintQuality.class);

  // Chromaticity, Destination, MediaPrintableArea,
  // SheetCollate, PresentationDirection - not IPP attributes

  // attributes outside section 4.2
  if (printerAttr.containsKey(CompressionSupported.class))
    categories.add(Compression.class);
  if (printerAttr.containsKey(JobImpressionsSupported.class))
    categories.add(JobImpressions.class);
  if (printerAttr.containsKey(JobKOctetsSupported.class))
    categories.add(JobKOctets.class);
  if (printerAttr.containsKey(JobMediaSheetsSupported.class))
    categories.add(JobMediaSheets.class);

  // always supported as required by IPP specification
  categories.add(Fidelity.class);
  categories.add(JobName.class);
  categories.add(RequestingUserName.class);

  return categories.toArray(new Class[categories.size()]);
}
项目:classpath    文件:IppPrintService.java   
/**
 * Called to handle the supported attribute values response for the given
 * category. This might be overridden by subclasses with different requirements
 * for parsing/handling the response from the GetPrinterAttributes.
 *
 * @param response the response of the GetPrinterAttributes IPP request
 * @param category the category for which the supported values are requested
 * @return A object indicating the supported values for the given attribute
 * category, or <code>null</code> if this print service doesn't support the
 * given attribute category at all.
 *
 * @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
 */
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
                                                        Class<? extends Attribute> category)
{
  List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAtts =
    response.getPrinterAttributes();

  // only one will be returned
  Map<Class<? extends Attribute>, Set<Attribute>> printerAttribute = printerAtts.get(0);
  Class<? extends Attribute> suppCategory = IppUtilities.getSupportedCategory(category);
  Set<Attribute> attr = printerAttribute.get(suppCategory);

  // We sometime assume its a single instance with arbritrary value just indicating
  // support or an array which is returned. This is because I sometimes just choosed
  // what sounds right to me - as I have yet to find a printer which supports every
  // special category in the SUN implementation to see what they return :-)

  //  Map whats in the JSP API
  if (suppCategory.equals(JobPrioritySupported.class))
    return (JobPrioritySupported) attr.iterator().next();
  if (suppCategory.equals(JobHoldUntilSupported.class))
    return new JobHoldUntil(new Date());
  if (suppCategory.equals(JobSheetsSupported.class))
    return JobSheetsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
    return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CopiesSupported.class))
    return (CopiesSupported) attr.iterator().next();
  if (suppCategory.equals(FinishingsSupported.class))
    return FinishingsSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PageRangesSupported.class))
    return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) };
  if (suppCategory.equals(OrientationRequestedSupported.class))
    return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(MediaSupported.class))
    return MediaSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrinterResolutionSupported.class))
    return PrinterResolutionSupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(PrintQualitySupported.class))
    return PrintQualitySupported.getAssociatedAttributeArray(attr);
  if (suppCategory.equals(CompressionSupported.class))
    return CompressionSupported.getAssociatedAttributeArray(attr);
  // Special handling as it might also be in range of integers
  if (suppCategory.equals(NumberUpSupported.class))
    {
      if (attr.size() == 1) // number-up maybe in rangeofintegers
        return attr.iterator().next();

      int[][] members = new int[attr.size()][2];
      Iterator<Attribute> it = attr.iterator();
      for (int j = 0; j < attr.size(); j++)
        {
          int value = ((NumberUpSupported) it.next()).getMembers()[0][0];
          members[j] = new int[] { value, value };
        }

      NumberUpSupported supported = new NumberUpSupported(members);
      return supported;
    }

  return null;
}
项目:javify    文件:JobHoldUntilDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 *
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute()
{
  // FIXME Same Mapping problem as in IppPrintService
  return new JobHoldUntil(new Date());
}
项目:jvm-stm    文件:JobHoldUntilDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * 
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute() 
{
  // FIXME Same Mapping problem as in IppPrintService
  return new JobHoldUntil(new Date());
}
项目:JamVM-PH    文件:JobHoldUntilDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * 
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute() 
{
  // FIXME Same Mapping problem as in IppPrintService
  return new JobHoldUntil(new Date());
}
项目:classpath    文件:JobHoldUntilDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 *
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute()
{
  // FIXME Same Mapping problem as in IppPrintService
  return new JobHoldUntil(new Date());
}