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

项目:openjdk-jdk10    文件:BannerTest.java   
public static void main(String[] args)  throws Exception {
    job = PrinterJob.getPrinterJob();
    PrintService prtSrv = job.getPrintService();
    if (job.getPrintService() == null) {
        System.out.println("No printers. Test cannot continue");
        return;
    }
    if (!prtSrv.isAttributeCategorySupported(JobSheets.class)) {
        return;
    }
    SwingUtilities.invokeAndWait(() -> {
        doTest(BannerTest::printTest);
    });
    mainThread = Thread.currentThread();
    try {
        Thread.sleep(180000);
    } catch (InterruptedException e) {
        if (!testPassed && testGeneratedInterrupt) {
            throw new RuntimeException("Banner page did not print");
        }
    }
    if (!testGeneratedInterrupt) {
        throw new RuntimeException("user has not executed the test");
    }
}
项目:jvm-stm    文件:JobSheetsSupported.java   
/**
 * Constructs an array from a set of -supported attributes.
 * @param set set to process
 * @return The constructed array.
 * 
 * @see #getAssociatedAttribute()
 */
public static JobSheets[] getAssociatedAttributeArray(Set set) 
{
  JobSheetsSupported tmp;
  ArrayList result = new ArrayList();      
  Iterator it = set.iterator();
  int j = 0;
  while (it.hasNext())
    {
      tmp = (JobSheetsSupported) it.next();
      Attribute att = tmp.getAssociatedAttribute();
      if (att != null)
        result.add(att);
      j++;
    }            
  return (JobSheets[]) result.toArray(new JobSheets[result.size()]);
}
项目:JamVM-PH    文件:JobSheetsSupported.java   
/**
 * Constructs an array from a set of -supported attributes.
 * @param set set to process
 * @return The constructed array.
 * 
 * @see #getAssociatedAttribute()
 */
public static JobSheets[] getAssociatedAttributeArray(Set set) 
{
  JobSheetsSupported tmp;
  ArrayList result = new ArrayList();      
  Iterator it = set.iterator();
  int j = 0;
  while (it.hasNext())
    {
      tmp = (JobSheetsSupported) it.next();
      Attribute att = tmp.getAssociatedAttribute();
      if (att != null)
        result.add(att);
      j++;
    }            
  return (JobSheets[]) result.toArray(new JobSheets[result.size()]);
}
项目:openjdk-jdk10    文件:UnixPrintJob.java   
UnixPrintJob(PrintService service) {
    this.service = service;
    mDestination = service.getName();
    if (PrintServiceLookupProvider.isMac()) {
        mDestination = ((IPPPrintService)service).getDest();
    }
    mDestType = UnixPrintJob.DESTPRINTER;
    JobSheets js = (JobSheets)(service.
                                  getDefaultAttributeValue(JobSheets.class));
    if (js != null && js.equals(JobSheets.NONE)) {
        mNoJobSheet = true;
    }
}
项目:openjdk-jdk10    文件:TestCheckSystemDefaultBannerOption.java   
public static void main (String[] args) throws Exception {

        job = PrinterJob.getPrinterJob();
        PrintService prtSrv = job.getPrintService();
        if (prtSrv == null) {
            System.out.println("No printers. Test cannot continue");
            return;
        }
        // do not run the test if JobSheet category is not supported
        if (!prtSrv.isAttributeCategorySupported(JobSheets.class)) {
            return;
        }
        // check system default banner option and let user know what to expect
        JobSheets js = (JobSheets)job.getPrintService().
                getDefaultAttributeValue(JobSheets.class);
        if (js != null && js.equals(JobSheets.NONE)) {
            noJobSheet = true;
        }
        SwingUtilities.invokeAndWait(() -> {
            doTest(TestCheckSystemDefaultBannerOption::printTest);
        });
        mainThread = Thread.currentThread();
        try {
            Thread.sleep(60000);
        } catch (InterruptedException e) {
            if (!testPassed && testGeneratedInterrupt) {
                String banner = noJobSheet ? "Banner page" : " No Banner page";
                throw new RuntimeException(banner + " is printed");
            }
        }
        if (!testGeneratedInterrupt) {
            throw new RuntimeException("user has not executed the test");
        }
    }
项目:javify    文件:JobSheetsSupported.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this SupportedValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 *
 * @return The enum of the standard attribute class.
 */
public JobSheets getAssociatedAttribute()
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:javify    文件:JobSheetsSupported.java   
/**
 * Constructs an array from a set of -supported attributes.
 * @param set set to process
 * @return The constructed array.
 *
 * @see #getAssociatedAttribute()
 */
public static JobSheets[]
  getAssociatedAttributeArray(Set<Attribute> set)
{
  ArrayList<JobSheets> result = new ArrayList<JobSheets>();
  int j = 0;
  for (Attribute tmp : set)
    {
      JobSheets att = ((JobSheetsSupported) tmp).getAssociatedAttribute();
      if (att != null)
        result.add(att);
      j++;
    }
  return result.toArray(new JobSheets[result.size()]);
}
项目:javify    文件:JobSheetsDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 *
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute()
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:javify    文件:PrinterDialog.java   
public void actionPerformed(ActionEvent event)
{
  if (cover.isSelected())
    atts.add(JobSheets.STANDARD);
  else
    atts.add(JobSheets.NONE);
}
项目:jvm-stm    文件:JobSheetsSupported.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this SupportedValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 * 
 * @return The enum of the standard attribute class.
 */
public JobSheets getAssociatedAttribute() 
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:jvm-stm    文件:JobSheetsDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 * 
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute() 
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:jvm-stm    文件:PrinterDialog.java   
public void actionPerformed(ActionEvent event)
{
  if (cover.isSelected())
    atts.add(JobSheets.STANDARD);
  else
    atts.add(JobSheets.NONE);
}
项目:cn1    文件:ServiceUIDialog.java   
void fillBannerPageField() {
    JobSheets [] supported = 
            (myService.isAttributeCategorySupported(JobSheets.class) 
            ? (JobSheets[]) (myService.getSupportedAttributeValues(
                    JobSheets.class, flavor, attrs))
            : null); 
    Attribute value = attrs.get(JobSheets.class);

    if ((supported != null) && (supported.length == 0)) {
        supported = null;
    }

    if (supported == null) {
        /* if PrintService does not supported any JobSheets, set current 
           meaning from attribute set (if present) and disable checkbox */
        if (firstUse && attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }
    } else {
        if (supported.length == 1) {
            bannerBox.setSelected(supported[0] == JobSheets.STANDARD);
        } else if (attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }  else {
            Object def = myService.getDefaultAttributeValue(JobSheets.class);
            bannerBox.setSelected(def == null
                    ? false
                    : def.equals(JobSheets.STANDARD));
        }
    }
    bannerBox.setEnabled((supported != null) && (supported.length > 1));
}
项目:cn1    文件:ServiceUIDialog.java   
private void updateBannerPage() {
    if (bannerBox.isEnabled()) {
        newAttrs.add(bannerBox.isSelected()  
                ? JobSheets.STANDARD 
                : JobSheets.NONE);
    } else {
        removeAttribute(JobSheets.class);
    }
}
项目:JamVM-PH    文件:JobSheetsSupported.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this SupportedValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 * 
 * @return The enum of the standard attribute class.
 */
public JobSheets getAssociatedAttribute() 
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:JamVM-PH    文件:JobSheetsDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 * 
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute() 
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:JamVM-PH    文件:PrinterDialog.java   
public void actionPerformed(ActionEvent event)
{
  if (cover.isSelected())
    atts.add(JobSheets.STANDARD);
  else
    atts.add(JobSheets.NONE);
}
项目:classpath    文件:JobSheetsSupported.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this SupportedValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 *
 * @return The enum of the standard attribute class.
 */
public JobSheets getAssociatedAttribute()
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:classpath    文件:JobSheetsSupported.java   
/**
 * Constructs an array from a set of -supported attributes.
 * @param set set to process
 * @return The constructed array.
 *
 * @see #getAssociatedAttribute()
 */
public static JobSheets[]
  getAssociatedAttributeArray(Set<Attribute> set)
{
  ArrayList<JobSheets> result = new ArrayList<JobSheets>();
  int j = 0;
  for (Attribute tmp : set)
    {
      JobSheets att = ((JobSheetsSupported) tmp).getAssociatedAttribute();
      if (att != null)
        result.add(att);
      j++;
    }
  return result.toArray(new JobSheets[result.size()]);
}
项目:classpath    文件:JobSheetsDefault.java   
/**
 * Returns the equally enum of the standard attribute class
 * of this DefaultValuesAttribute enum.
 * <p>May return null if no value exists in JPS API.</p>
 *
 * @return The enum of the standard attribute class.
 */
public Attribute getAssociatedAttribute()
{
  if (this.equals(JobSheetsDefault.NONE))
    return JobSheets.NONE;
  if (this.equals(JobSheetsDefault.STANDARD))
    return JobSheets.STANDARD;

  return null;
}
项目:classpath    文件:PrinterDialog.java   
public void actionPerformed(ActionEvent event)
{
  if (cover.isSelected())
    atts.add(JobSheets.STANDARD);
  else
    atts.add(JobSheets.NONE);
}
项目:freeVM    文件:ServiceUIDialog.java   
void fillBannerPageField() {
    JobSheets [] supported = 
            (myService.isAttributeCategorySupported(JobSheets.class) 
            ? (JobSheets[]) (myService.getSupportedAttributeValues(
                    JobSheets.class, flavor, attrs))
            : null); 
    Attribute value = attrs.get(JobSheets.class);

    if ((supported != null) && (supported.length == 0)) {
        supported = null;
    }

    if (supported == null) {
        /* if PrintService does not supported any JobSheets, set current 
           meaning from attribute set (if present) and disable checkbox */
        if (firstUse && attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }
    } else {
        if (supported.length == 1) {
            bannerBox.setSelected(supported[0] == JobSheets.STANDARD);
        } else if (attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }  else {
            Object def = myService.getDefaultAttributeValue(JobSheets.class);
            bannerBox.setSelected(def == null
                    ? false
                    : def.equals(JobSheets.STANDARD));
        }
    }
    bannerBox.setEnabled((supported != null) && (supported.length > 1));
}
项目:freeVM    文件:ServiceUIDialog.java   
private void updateBannerPage() {
    if (bannerBox.isEnabled()) {
        newAttrs.add(bannerBox.isSelected()  
                ? JobSheets.STANDARD 
                : JobSheets.NONE);
    } else {
        removeAttribute(JobSheets.class);
    }
}
项目:freeVM    文件:ServiceUIDialog.java   
void fillBannerPageField() {
    JobSheets [] supported = 
            (myService.isAttributeCategorySupported(JobSheets.class) 
            ? (JobSheets[]) (myService.getSupportedAttributeValues(
                    JobSheets.class, flavor, attrs))
            : null); 
    Attribute value = attrs.get(JobSheets.class);

    if ((supported != null) && (supported.length == 0)) {
        supported = null;
    }

    if (supported == null) {
        /* if PrintService does not supported any JobSheets, set current 
           meaning from attribute set (if present) and disable checkbox */
        if (firstUse && attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }
    } else {
        if (supported.length == 1) {
            bannerBox.setSelected(supported[0] == JobSheets.STANDARD);
        } else if (attrs.containsKey(JobSheets.class)) {
            bannerBox.setSelected(value.equals(JobSheets.STANDARD));
        }  else {
            Object def = myService.getDefaultAttributeValue(JobSheets.class);
            bannerBox.setSelected(def == null
                    ? false
                    : def.equals(JobSheets.STANDARD));
        }
    }
    bannerBox.setEnabled((supported != null) && (supported.length > 1));
}
项目:freeVM    文件:ServiceUIDialog.java   
private void updateBannerPage() {
    if (bannerBox.isEnabled()) {
        newAttrs.add(bannerBox.isSelected()  
                ? JobSheets.STANDARD 
                : JobSheets.NONE);
    } else {
        removeAttribute(JobSheets.class);
    }
}
项目:OpenJSharp    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:jdk8u-jdk    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:openjdk-jdk10    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class<? extends Attribute> category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:openjdk9    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class<? extends Attribute> category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:jdk8u_jdk    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目: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()]);
}
项目: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()]);
}
项目:infobip-open-jdk-8    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:jdk8u-dev-jdk    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:jdk7-jdk    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:openjdk-source-code-learn    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}
项目:OLD-OpenJDK8    文件:UnixPrintJob.java   
private void getAttributeValues(DocFlavor flavor) throws PrintException {
    Attribute attr;
    Class category;

    if (reqAttrSet.get(Fidelity.class) == Fidelity.FIDELITY_TRUE) {
        fidelity = true;
    } else {
        fidelity = false;
    }

    Attribute []attrs = reqAttrSet.toArray();
    for (int i=0; i<attrs.length; i++) {
        attr = attrs[i];
        category = attr.getCategory();
        if (fidelity == true) {
            if (!service.isAttributeCategorySupported(category)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported category: " + category, category, null);
            } else if
                (!service.isAttributeValueSupported(attr, flavor, null)) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintJobAttributeException(
                    "unsupported attribute: " + attr, null, attr);
            }
        }
        if (category == Destination.class) {
            URI uri = ((Destination)attr).getURI();
            if (!"file".equals(uri.getScheme())) {
                notifyEvent(PrintJobEvent.JOB_FAILED);
                throw new PrintException("Not a file: URI");
            } else {
                try {
                    mDestType = DESTFILE;
                    mDestination = (new File(uri)).getPath();
                } catch (Exception e) {
                    throw new PrintException(e);
                }
                // check write access
                SecurityManager security = System.getSecurityManager();
                if (security != null) {
                  try {
                    security.checkWrite(mDestination);
                  } catch (SecurityException se) {
                    notifyEvent(PrintJobEvent.JOB_FAILED);
                    throw new PrintException(se);
                  }
                }
            }
        } else if (category == JobSheets.class) {
            if ((JobSheets)attr == JobSheets.NONE) {
               mNoJobSheet = true;
            }
        } else if (category == JobName.class) {
            jobName = ((JobName)attr).getValue();
        } else if (category == Copies.class) {
            copies = ((Copies)attr).getValue();
        } else if (category == Media.class) {
            if (attr instanceof MediaSizeName) {
                mediaName = (MediaSizeName)attr;
                IPPPrintService.debug_println(debugPrefix+
                                              "mediaName "+mediaName);
            if (!service.isAttributeValueSupported(attr, null, null)) {
                mediaSize = MediaSize.getMediaSizeForName(mediaName);
            }
          } else if (attr instanceof CustomMediaTray) {
              customTray = (CustomMediaTray)attr;
          }
        } else if (category == OrientationRequested.class) {
            orient = (OrientationRequested)attr;
        } else if (category == NumberUp.class) {
            nUp = (NumberUp)attr;
        } else if (category == Sides.class) {
            sides = (Sides)attr;
        }
    }
}