The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.print.attribute  [4 examples]

e709. Getting the Possible Values for a Print Job Capability

The capabilities of a print job are called print job attributes. Examples of print job attributes include: Copies, OrientationRequested, and Destination. This example demonstrates how to retrieve the possible values of a print job attribute. PrintService.getSupportedAttributeValues() is the method to use. This method returns 3 possible types of objects: 1) an instance of the attribute which indicates arbitrary values (e.g., Destination); 2) an array of instances of the attribute that indicates a set of specific values (e.g., OrientationRequested); and 3) an instance of something other than the attribute type that indicates that the values are limited to a particular range of values (the documentation is not clear about this particular return value).
    Class category = OrientationRequested.class;
    Object o = service.getSupportedAttributeValues(category, null, null);
    if (o == null) {
        // Attribute is not supported
    } else if (o.getClass() == category) {
        // Attribute value is arbitrary; the actual value in o is irrelevant
    } else if (o.getClass().isArray()) {
        // Attribute values are a set of values
        for (int i=0; i<Array.getLength(o); i++) {
            Object v = Array.get(o, i);
            // v is one of the possible values
        }
    } else {
        // Attribute value is limited to a range of values represented by o
    }

 Related Examples
e706. Determining the Capabilities of a Print Service
e707. Determining Print Job Capabilities Supported by a Print Service
e708. Getting the Default Value of a Print Job Capability


© 2002 Addison-Wesley.