Java Program to Implement JobStateReasons API

This Java program Implements JobStateReasons API.Class JobStateReasons is a printing attribute class, a set of enumeration values, that provides additional information about the job’s current state, i.e., information that augments the value of the job’s JobState attribute.

Here is the source code of the Java Program to Implement JobStateReasons API.The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.Collection;
import javax.print.attribute.Attribute;
import javax.print.attribute.standard.JobStateReason;
import javax.print.attribute.standard.JobStateReasons;
 
public class JobStateReasonsImpl
{
    private JobStateReasons jobStateReasons;
 
    /**
     * Construct a new, empty job state reasons attribute; the underlying hash
     * set has the default initial capacity and load factor.
    **/
    public JobStateReasonsImpl()
    {
        jobStateReasons = new JobStateReasons();
    }
 
    /**
     * Construct a new job state reasons attribute that contains the same
     * JobStateReason objects as the given collection.
    **/
    public JobStateReasonsImpl(Collection<JobStateReason> collection)
    {
        jobStateReasons = new JobStateReasons(collection);
    }
 
    /**
     * Construct a new, empty job state reasons attribute; the underlying hash
     * set has the given initial capacity and the default load factor.
    **/
    public JobStateReasonsImpl(int initialCapacity)
    {
        jobStateReasons = new JobStateReasons(initialCapacity);
    }
 
    /**
     * Construct a new, empty job state reasons attribute; the underlying hash
     * set has the given initial capacity and load factor.
     **/
    public JobStateReasonsImpl(int initialCapacity, float loadFactor)
    {
        jobStateReasons = new JobStateReasons(initialCapacity, loadFactor);
    }
 
    /**
     * Adds the specified element to this job state reasons attribute if it is
     * not already present.
    **/
    public boolean add(JobStateReason o)
    {
        return jobStateReasons.add(o);
    }
 
    /**
     * Get the printing attribute class which is to be used as the "category"
     * for this printing attribute value.
    **/
    public Class<? extends Attribute> getCategory()
    {
        return jobStateReasons.getCategory();
    }
 
    /**
     * Get the name of the category of which this attribute value is an
     * instance.
     **/
    public String getName()
    {
        return jobStateReasons.getName();
    }
 
    /** return true if this set contains the specified element **/
    public boolean contains(Object obj)
    {
        return jobStateReasons.contains(obj);
    }
 
    /** returns true if the set is empty **/
    public boolean isEmpty()
    {
        return jobStateReasons.isEmpty();
    }
 
    /** removes the specified element from this set if present **/
    public boolean remove(Object obj)
    {
        return jobStateReasons.remove(obj);
    }
 
    /** returns the number of elements in set **/
    public int size()
    {
        return jobStateReasons.size();
    }
 
    /** removes all elements from this set **/
    public void clear()
    {
        jobStateReasons.clear();
    }
 
    /** Returns an array containing all of the elements in this set. **/
    public Object[] toArray() 
    {
        return jobStateReasons.toArray();
    }
 
    public static void main(String... arg)
    {
        JobStateReasonsImpl jobStateReasons = new JobStateReasonsImpl();
        jobStateReasons.add(JobStateReason.COMPRESSION_ERROR);
        jobStateReasons.add(JobStateReason.JOB_CANCELED_BY_USER);
        jobStateReasons.add(JobStateReason.JOB_COMPLETED_WITH_WARNINGS);
        jobStateReasons.add(JobStateReason.DOCUMENT_FORMAT_ERROR);
 
        System.out.println("the name of category " + jobStateReasons.getName());
        System.out.println("the jobStateReason are");
        Object[] array = (Object[]) jobStateReasons.toArray();
        for (int i = 0; i < array.length; i++)
        {
            System.out.print(array[i] + "\t");
        }
        System.out.println();
 
        jobStateReasons.clear();
        System.out.println("jobStateReasons cleared");
        if (jobStateReasons.isEmpty())
            System.out.println("jobStateReasons is empty");
        else
            System.out.println("jobStateReasons is not empty");
    }
}
$ javac JobStateReasonsImpl.java
$ java JobStateReasonsImpl
the name of category job-state-reasons
the jobStateReason are
compression-error	document-format-error	job-completed-with-warnings	job-canceled-by-user	
jobStateReasons cleared
jobStateReasons is not empty

Related posts:

A Guide to WatchService in Java NIO2
Annotation trong Java 8
Java Program to Check Whether Graph is DAG
Spring Boot - Code Structure
Spring Data JPA and Null Parameters
Java Program to Implement IdentityHashMap API
Receive email using IMAP
HandlerAdapters in Spring MVC
Introduction to the Functional Web Framework in Spring 5
Extract links from an HTML page
Spring Boot Change Context Path
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java Program to Check Cycle in a Graph using Graph traversal
Using Spring ResponseEntity to Manipulate the HTTP Response
An Intro to Spring Cloud Zookeeper
REST Web service: HTTP Status Code và xử lý ngoại lệ RESTful web service với Jersey 2.x
Java Program to Check whether Directed Graph is Connected using DFS
Java Program to Implement PriorityQueue API
Spring WebClient Requests with Parameters
HttpClient with SSL
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Debug a HttpURLConnection problem
Properties with Spring and Spring Boot
Spring Boot with Multiple SQL Import Files
Spring Webflux and CORS
Java Program to Check whether Undirected Graph is Connected using BFS
A Guide to the finalize Method in Java
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java – Delete a File
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
List Interface trong Java