1 /* 2 * @(#)Attribute.java 1.5 04/05/05 3 * 4 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package javax.print.attribute; 9 10 import java.io.Serializable; 11 12 /** 13 * Interface Attribute is the base interface implemented by any and every 14 * printing attribute class to indicate that the class represents a 15 * printing attribute. All printing attributes are serializable. 16 * <P> 17 * 18 * @author David Mendenhall 19 * @author Alan Kaminsky 20 */ 21 public interface Attribute extends Serializable { 22 23 /** 24 * Get the printing attribute class which is to be used as the "category" 25 * for this printing attribute value when it is added to an attribute set. 26 * 27 * @return Printing attribute class (category), an instance of class 28 * {@link java.lang.Class java.lang.Class}. 29 */ 30 public Class<? extends Attribute> getCategory(); 31 32 /** 33 * Get the name of the category of which this attribute value is an 34 * instance. 35 * <P> 36 * <I>Note:</I> This method is intended to provide a default, nonlocalized 37 * string for the attribute's category. If two attribute objects return the 38 * same category from the <CODE>getCategory()</CODE> method, they should 39 * return the same name from the <CODE>getName()</CODE> method. 40 * 41 * @return Attribute category name. 42 */ 43 public String getName(); 44 45 } 46