javax.print.attribute

Class AttributeSetUtilities


public final class AttributeSetUtilities
extends Object

AttributeSetUtilities provides static methods for working with AttributeSets.

For every type of an attribute set available in the Java Print Service API are methods provided to get an unmodifiable view of an attribute set. This unmodifiable view provides a read-only version of the attribute set which throws UnmodifiableSetExceptions if state changing methods are invoked.

Methods for getting a synchronized view of an attribute set are also available. This view provides synchronized (thread safe) access to the underlying wrapped attribute set.

Three static methods for the implementation of own AttributeSets are provided, which verify that:

Method Summary

static AttributeSet
synchronizedView(AttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
static DocAttributeSet
synchronizedView(DocAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
static PrintJobAttributeSet
synchronizedView(PrintJobAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
static PrintRequestAttributeSet
synchronizedView(PrintRequestAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
static PrintServiceAttributeSet
synchronizedView(PrintServiceAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
static AttributeSet
unmodifiableView(AttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
static DocAttributeSet
unmodifiableView(DocAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
static PrintJobAttributeSet
unmodifiableView(PrintJobAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
static PrintRequestAttributeSet
unmodifiableView(PrintRequestAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
static PrintServiceAttributeSet
unmodifiableView(PrintServiceAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
static Class
verifyAttributeCategory(Object object, Class interfaceName)
Verifies that the given object is a Class that implements the given interface name and returns it casted.
static Attribute
verifyAttributeValue(Object object, Class interfaceName)
Verifies that the given object is an attribute of the given interface.
static void
verifyCategoryForValue(Class category, Attribute attribute)
Verifies that the category of attribute is equals to the given category class.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

synchronizedView

public static AttributeSet synchronizedView(AttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
Parameters:
attributeSet - the set to synchronize.
Returns:
The sychronized attribute set.

synchronizedView

public static DocAttributeSet synchronizedView(DocAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
Parameters:
attributeSet - the set to synchronize.
Returns:
The sychronized attribute set.

synchronizedView

public static PrintJobAttributeSet synchronizedView(PrintJobAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
Parameters:
attributeSet - the set to synchronize.
Returns:
The sychronized attribute set.

synchronizedView

public static PrintRequestAttributeSet synchronizedView(PrintRequestAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
Parameters:
attributeSet - the set to synchronize.
Returns:
The sychronized attribute set.

synchronizedView

public static PrintServiceAttributeSet synchronizedView(PrintServiceAttributeSet attributeSet)
Returns a synchronized view of the given attribute set.
Parameters:
attributeSet - the set to synchronize.
Returns:
The sychronized attribute set.

unmodifiableView

public static AttributeSet unmodifiableView(AttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
Parameters:
attributeSet - the set to make unmodifiable.
Returns:
The unmodifiable attribute set.

unmodifiableView

public static DocAttributeSet unmodifiableView(DocAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
Parameters:
attributeSet - the set to make unmodifiable.
Returns:
The unmodifiable attribute set.

unmodifiableView

public static PrintJobAttributeSet unmodifiableView(PrintJobAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
Parameters:
attributeSet - the set to make unmodifiable.
Returns:
The unmodifiable attribute set.

unmodifiableView

public static PrintRequestAttributeSet unmodifiableView(PrintRequestAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
Parameters:
attributeSet - the set to make unmodifiable.
Returns:
The unmodifiable attribute set.

unmodifiableView

public static PrintServiceAttributeSet unmodifiableView(PrintServiceAttributeSet attributeSet)
Returns an unmodifiable view of the given attribute set.
Parameters:
attributeSet - the set to make unmodifiable.
Returns:
The unmodifiable attribute set.

verifyAttributeCategory

public static Class verifyAttributeCategory(Object object,
                                               Class interfaceName)
Verifies that the given object is a Class that implements the given interface name and returns it casted.
Parameters:
object - the object to test.
interfaceName - the Class to verify against.
Returns:
object casted to Class
Throws:
ClassCastException - if object is not a Class that implements interfaceName
NullPointerException - if object is null

verifyAttributeValue

public static Attribute verifyAttributeValue(Object object,
                                             Class interfaceName)
Verifies that the given object is an attribute of the given interface. and returns it casted to the interface type.
Parameters:
object - the object to test.
interfaceName - the Class to verify against.
Returns:
the object casted to Attribute
Throws:
ClassCastException - if object is no instance of interfaceName.
NullPointerException - if object is null

verifyCategoryForValue

public static void verifyCategoryForValue(Class category,
                                          Attribute attribute)
Verifies that the category of attribute is equals to the given category class.
Parameters:
category - the category to test.
attribute - the attribute to verify.
Throws:
IllegalArgumentException - if the categories are not equal
NullPointerException - if category is null

AttributeSetUtilities.java -- Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.