javax.print

Class ServiceUIFactory


public abstract class ServiceUIFactory
extends Object

ServiceUIFactory enables print services to provide additional user interface dialogs.

A print service may provide a ServiceUIFactory implementation if its getServiceUIFactory() method is called. If a factory object is returned it can be queried for provided user interface dialogs. Different roles are defined to denote dialogs providing informations about the print service, dialogs for administration of a print service and for end-user browsing dialogs.

The factory can support providing these UI roles in different dialog types (AWT, Swing, JComponent, Panel). The support and use of Swing interfaces is however preferred.

Field Summary

static int
ABOUT_UIROLE
A user interface providing informations about the print service.
static int
ADMIN_UIROLE
A user interface to administer the print service.
static String
DIALOG_UI
Identifies a UI provided as an AWT dialog.
static String
JCOMPONENT_UI
Identifies a UI provided as a Swing JComponent.
static String
JDIALOG_UI
Identifies a UI provided as a Swing JDialog.
static int
MAIN_UIROLE
A user interface for end-user browsing of the print service.
static String
PANEL_UI
Identifies a UI provided as an AWT Panel.
static int
RESERVED_UIROLE
Role IDs greater than this may be used for other private roles.

Constructor Summary

ServiceUIFactory()
Constructs a ServiceUIFactory object.

Method Summary

abstract Object
getUI(int role, String ui)
Returns an UI object which may be cast to the requested UI type.
abstract String[]
getUIClassNamesForRole(int role)
Returns the UI types supported by this factory for an UI role.

Methods inherited from class java.lang.Object

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

Field Details

ABOUT_UIROLE

public static final int ABOUT_UIROLE
A user interface providing informations about the print service.
Field Value:
1

ADMIN_UIROLE

public static final int ADMIN_UIROLE
A user interface to administer the print service.
Field Value:
2

DIALOG_UI

public static final String DIALOG_UI
Identifies a UI provided as an AWT dialog.
Field Value:
"java.awt.Dialog"

JCOMPONENT_UI

public static final String JCOMPONENT_UI
Identifies a UI provided as a Swing JComponent.
Field Value:
"javax.swing.JComponent"

JDIALOG_UI

public static final String JDIALOG_UI
Identifies a UI provided as a Swing JDialog.
Field Value:
"javax.swing.JDialog"

MAIN_UIROLE

public static final int MAIN_UIROLE
A user interface for end-user browsing of the print service.
Field Value:
3

PANEL_UI

public static final String PANEL_UI
Identifies a UI provided as an AWT Panel.
Field Value:
"java.awt.Panel"

RESERVED_UIROLE

public static final int RESERVED_UIROLE
Role IDs greater than this may be used for other private roles.
Field Value:
99

Constructor Details

ServiceUIFactory

public ServiceUIFactory()
Constructs a ServiceUIFactory object.

Method Details

getUI

public abstract Object getUI(int role,
                             String ui)
Returns an UI object which may be cast to the requested UI type.
Parameters:
role - the role requested. Must be one of the standard roles or a private role supported by this factory
ui - type in which the role is requested
Returns:
the UI role or null of this role is not supported by this factory
Throws:
IllegalArgumentException - if role is neither one of the standard ones nor a private one supported by this factory

getUIClassNamesForRole

public abstract String[] getUIClassNamesForRole(int role)
Returns the UI types supported by this factory for an UI role.
Parameters:
role - the role to be looked up
Returns:
an array of UI types
Throws:
IllegalArgumentException - if role is neither one of the standard ones nor a private one supported by this factory

ServiceUIFactory.java -- Copyright (C) 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.