java.beans.Visibility Maven / Gradle / Ivy
/*
NOTICE
(c) 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below. For
example, no permission is given for you to incorporate this file, in
whole or in part, in an implementation of a Java specification.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative, as opposed to normative, use. The file and any
files generated from it may be used to generate other informative
documentation, such as a unified set of documents of API signatures for
a platform that includes technologies expressed as Java APIs. The file
may also be used to produce "compilation stubs," which allow
applications to be compiled and validated for such platforms.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 217: Personal Basis
Profile 1.1. In the event of a discrepency between this work and the
JSR 217 specification, which is available at
http://www.jcp.org/en/jsr/detail?id=217, the latter takes precedence.
*/
package java.beans;
/**
* Under some circumstances a bean may be run on servers where a GUI
* is not available. This interface can be used to query a bean to
* determine whether it absolutely needs a gui, and to advise the
* bean whether a GUI is available.
*
* This interface is for expert developers, and is not needed
* for normal simple beans. To avoid confusing end-users we
* avoid using getXXX setXXX design patterns for these methods.
*/
public interface Visibility
{
/**
* Determines whether this bean needs a GUI.
*
* @return True if the bean absolutely needs a GUI available in
* order to get its work done.
*/
public boolean needsGui();
/**
* This method instructs the bean that it should not use the Gui.
*/
public void dontUseGui();
/**
* This method instructs the bean that it is OK to use the Gui.
*/
public void okToUseGui();
/**
* Determines whether this bean is avoiding using a GUI.
*
* @return true if the bean is currently avoiding use of the Gui.
* e.g. due to a call on dontUseGui().
*/
public boolean avoidingGui();
}