Листинги

Листинг 1.

public final class Class extends Object 
	implements Serializable {
	// Информация о классе или интерфейсе

	public native Class getSuperclass (); 
	// Возвращает класс-предшественник данного класса

	public native Class [] getInterfaces ();
	// Возвращает интерфейсы, реализуемые классом

	public Field [] getFields () 
		throws SecurityException;
	// Возвращает public-поля данного класса, в том числе 
	// унаследованные. Возбуждает исключительную ситуацию,
	//  если доступ к этой информации запрещен политикой 
	// безопасности.

	public Constructor [] getConstructors ()
		throws SecurityException;
	// Возвращает public-конструкторы данного класса.
	// Возбуждает исключительную ситуацию, если доступ 
	// к этой информации запрещен политикой безопасности.

	public Method [] getMethods () 
		throws SecurityException;
	// Возвращает public-методы данного класса, в том числе 
	// унаследованные. Возбуждает исключительную ситуацию,
	//  если доступ к этой информации запрещен политикой 
	// безопасности.

	public Method getMethod (String name, Class 
						parameterTypes [])
		throws NoSuchMethodException, 
				SecurityException; 
	// Возвращает public-метод с заданными именем и типами 
	// параметров. Возбуждает исключительную ситуацию, 
	// если такого метода нет, или если доступ к этой 
	// информации запрещен политикой безопасности 

	public Method [] getDeclaredMethods () 
		throws SecurityException; 
	// Возвращает все методы, продекларированные в данном 
	// классе. Возбуждает исключительную ситуацию, если 
	// доступ к этой информации запрещен политикой 
	// безопасности
	. . .
}

Листинг 2.

public final class Method 
	extends Object implements Member { 
// Информация о методе класса или интерфейса

	public Class getDeclaringClass (); 
	// Возвращает класс или интерфейс, 
	// содержащий декларацию данного метода 

	public String getName ();
	// Возвращает имя метода в виде цепочки символов

	public native int getModifiers (); 
	// Возвращает модификаторы (public, ...), 
	// использованные при описании метода

	public Class [] getParameterTypes (); 
	// Возвращает типы формальных параметров метода

	public Class getReturnType (); 
	// Возвращает тип результата метода

	public Class [] getExceptionTypes (); 
	// Возвращает исключительные ситуации, 
	// возбуждаемые данным методом

	public String toString (); 
	// Возвращает цепочку символов, описывающую метод

	public native Object invoke (Object obj, 
						   Object args []) 
		throws	IllegalAccessException, 
				IllegalArgumentException,
				InvocationTargetException, 
				NullPointerException; 
	// Применяет данный метод к объекту obj 
	// с заданным списком параметров
	. . .
}

Листинг 3.

public class BeanDescriptor 
	extends FeatureDescriptor { 
	// Описатель компонента объектной среды

	public BeanDescriptor (Class beanClass); 
	// Создает описатель по классу компонента

	public Class getBeanClass (); 
	// Возвращает класс компонента

	public Class getCustomizerClass (); 
	// Возвращает класс-настройщик компонента 
	// (см. раздел "Настройка свойств")

	. . . 
}

Листинг 4.

public interface BeanInfo { 
// Интерфейс, который нужно реализовать, 
// чтобы явным образом афишировать характеристики 
// компонента объектной среды

	public abstract BeanDescriptor 
		getBeanDescriptor ();
	// Возвращает описатель компонента

	public abstract EventSetDescriptor []
		getEventSetDescriptors (); 
	// Возвращает описатели событий, 
	// возбуждаемых компонентом

	public abstract PropertyDescriptor [] 
		getPropertyDescriptors (); 
	// Возвращает описатели афишируемых 
	// свойств компонента

	public abstract MethodDescriptor [] 
		getMethodDescriptors (); 
	// Возвращает описатели афишируемых 
	// методов компонента

	public abstract Image getIcon (int iconKind); 
	// Возвращает иконку, ассоциированную с компонентом

	. . . 
}

Листинг 5.

public class Introspector extends Object {
// Выяснение характеристик компонента объектной среды

	public static BeanInfo 
		getBeanInfo (Class beanClass)
	throws IntrospectionException; 
	// Выясняет афишируемые характеристики компонента. 
	// При нештатном ходе процесса интроспекции 
	// возбуждает исключительную ситуацию

	public static String [] getBeanInfoSearchPath (); 
	// Возвращает массив пакетов, 
	// в которых будут разыскиваться классы BeanInfo

	public static void 
		setBeanInfoSearchPath (String path []);
	// Устанавливает массив пакетов, 
	// в которых будут разыскиваться классы BeanInfo

	. . . 
}

Листинг 6.

interface KeyPressedListener 
	extends java.util.EventListener {

	void KeyPressed (KeyPressedEvent kpe); 
	// Метод, вызываемый в подписчиках
	// при распространении события

}

Листинг 7.

	implements Serializable {

	protected transient Object source; 
	// Поле событийного объекта, хранящее информацию 
	// об источнике. Слово transient означает, что поле 
	// является временным и при сохранении объекта 
	// в долговременную память не записывается

	public EventObject (Object source);
	public Object getSource ();
	public String toString (); 
	// Возвращает представление событийного объекта 
	// в виде цепочки символов 
}

Листинг 8.

public class KeyPressedEvent 
	extends java.util.EventObject {

		protected transient int KeyCode;

		KeyPressedEvent (java.awt.Component source,
						int Key) {
			super (source); 
			KeyCode = Key; 
		}

		public int getKeyPressed () {
			return KeyCode;
		}
}

Листинг 9.

public abstract class KeyPressedEventSource {

	private Vector listeners = new Vector ();
	// Массив для хранения набора подписчиков

	public synchronized void 
	  addKeyPressedListener (KeyPressedListener kpl) {
	// Зарегистрировать подписчика 

		listeners.addElement (kpl); 
	}

	public synchronized void 
	  removeKeyPressedListener(KeyPressedListener kpl) {
	// Аннулировать регистрацию 

		listeners.removeElement (kpl); 
	}

	protected fireKeyPressed (int Key) { 
	// Распространение события (оповещение подписчиков)

		Vector l; 
		KeyPressedEvent kpe = 
			new KeyPressedEvent (this, Key);

	// Создадим локальную копию набора подписчиков 
	// на момент возникновения события. 
	// В процессе распространения события набор подписчиков
	 // (но не локальная копия!) может изменяться 
		synchronized (this) 
			{l = (Vector) listeners.clone ();}

	// Оповестим подписчиков о наступлении события 

		for (int i = 0; i < l.size(); i++) {
			((KeyPressedListener) 
				l.elementAt(i)).KeyPressed (kpe); 
		} 
	} 
}

Листинг 10.

public class MyListener 
	implements KeyPressedListener {

	  public void KeyPressed (KeyPressedEvent kpe) {
      . . .
    }

}

Шаблоны

public <тип_свойства> get<имя_свойства> (int i);
public void set<имя_свойства> (int i, <тип_свойства> p);
public <тип_свойства> [] get<имя_свойства> ();
public void set<имя_свойства> (<тип_свойства> p []);

Примеры

Листинг 11.

public Color getPalette (int i); 
public void setPalette (int i, Color c);
public Color [] getPalette (); 
public void setPalette (Color c []);

Листинг 12.

public class PropertyChangeEvent 
	extends EventObject {

	public PropertyChangeEvent (Object source, 
				String propertyName, Object oldValue,
				Object newValue); 
	// Конструктор. Создает событийный объект из источника 
	// события, имени изменяемого свойства, 
	// старого и нового значений

	public String getPropertyName (); 
	// Возвращает имя изменяемого свойства

	public Object getNewValue (); 
	// Возвращает новое значение свойства

public Object getOldValue (); 
// Возвращает прежнее значение свойства

. . . 
}

Листинг 13.

public interface PropertyChangeListener 
	extends EventListener {
		public abstract void 
		  propertyChange (PropertyChangeEvent pce); 
		// Метод, вызываемый после изменения 
		// связанного свойства 

}

Листинг 14.

public class PropertyChangeSupport 
	extends Object implements Serializable { 
// Вспомогательный класс для обслуживания 
// связанных свойств

	public PropertyChangeSupport (Object sourceBean); 
	// Конструктор

	public synchronized void 
	addPropertyChangeListener 
		(PropertyChangeListener pcl); 
	// Регистрация подписчиков

	public synchronized void 
		removePropertyChangeListener 
			(PropertyChangeListener pcl); 
	// Аннулирование регистрации

	public void firePropertyChange 
		(String propertyName, Object oldValue, 
		 Object newValue); 
	// Конструирование событийного объекта и 
	// распространение события. Если новое и старое значения
	// совпадают, никаких действий не предпринимается 

}

Листинг 15.

public interface PropertyEditor {

	public abstract void setValue (Object value); 
	// Устанавливает редактируемый объект (свойство)

	public abstract Object getValue (); 
	// Возвращает текущее значение свойства

	public abstract boolean isPaintable (); 
	// Истина, если свойство имеет графическое представление 
	// (реализован метод paintValue)

	public abstract void paintValue (Graphics gfx, 
							Rectangle box); 
	// Отрисовывает графическое представление свойства 
	// в заданной области экрана

	public abstract String getAsText (); 
	// Возвращает текстовой представление значения 
	// свойства, доступное для редактирования

	public abstract void setAsText (String text) 
		throws IllegalArgumentException; 
	// Устанавливает значение свойства 
	// по текстовому представлению

	public abstract boolean supportsCustomEditor (); 
	// Истина, если поддерживается специализированный 
	// редактор свойства

	public abstract Component getCustomEditor (); 
	// Возвращает специализированный редактор свойства, 	
	// которым, вероятно,  воспользуется окружение

	public abstract void addPropertyChangeListener 
		(PropertyChangeListener pcl); 
	// Регистрация подписчиков, информируемых 
	// об изменении значения свойства

	public abstract void removePropertyChangeListener
			(PropertyChangeListener pcl); 
	// Аннулирование регистрации

	. . . 
}

Листинг 16.

public class PropertyEditorManager extends Object {

 public static void registerEditor (Class targetType,
						Class editorClass); 
  // Регистрация редактора для типа targetType

 public static PropertyEditor findEditor 
	(Class targetType); 
 // Возвращает редактор для типа targetType

	. . . 
}

Листинг 17.

public interface Customizer {

	public abstract void setObject (Object bean); 
	// Устанавливает настраиваемый объект

	public abstract void addPropertyChangeListener 
		(PropertyChangeListener pcl); 
	// Настройщик должен возбуждать событие 
	// propertyChange при изменении значения свойства

	public abstract void removePropertyChangeListener
		(PropertyChangeListener pcl);
}

Листинг 18.

public interface Serializable {

	private void writeObject
		(java.io.ObjectOutputStream out) 
			throws IOException; 
	// Запись объекта в долговременную память

	private void readObject 
		(java.io.ObjectInputStream in) 
			throws IOException, 
				  ClassNotFoundException; 
	// Чтение объекта из долговременной памяти - метод, 
	// обратный writeObject () 

}

Листинг 19.

public interface Externalizable 
	extends Serializable {

	public abstract void writeExternal 
	  (ObjectOutput out) throws IOException; 
	// Сохранение объекта в нестандартном формате

	public abstract void readExternal 
	  (ObjectInput in) 	throws IOException, 
					ClassNotFoundException; 
	// Чтение нестандартно сохраненного объекта - 
	// метод, обратный writeExternal () 

}

Листинг 20.

public class Beans extends Object {

	public static Object instantiate 
	 (ClassLoader cls, String beanName) 
	 	 throws IOException, ClassNotFoundException; 
	// Создание экземпляра компонента

	public static boolean isDesignTime (); 
	// Истина, если работа идет в инструментальном 
	// окружении

	public static boolean isGuiAvailable (); 
	// Истина, если работа идет в графическом окружении 

. . .

}

Листинг 21.

public interface Collection {
	public abstract boolean add (Object o) 
		throws ...; 
	// Включает объект в набор. Возвращает "ложь", 
	// если объект там уже был

	public abstract void addAll (Collection c) 
		throws ...; 
	// Включает все элементы одного набора в другой

	public abstract boolean remove (Object o) 
		throws ...; 
	// Удаляет объект из набора

	public abstract void clear () throws ...; 
	// Удаляет все элементы из набора

	public abstract boolean contains (Object o); 
	// Проверяет, входит ли данный объект в набор

	public abstract Iterator iterator (); 
	// Возвращает итератор набора, позволяющий 
	// перебирать элементы

	public abstract Object [] toArray (); 
	// Преобразует набор в массив

	. . .
}

Листинг 22.

public interface BeanContextChild 
	extends BeanContextListener {

	void setBeanContext (BeanContext bc) 
		throws PropertyVetoException; 
	// Ассоциирует контейнер с компонентом. 
	// Если компонент считает, что новый контейнер ему
	// не подходит, он возбуждает исключительную ситуацию. 
	// Интерфейс BeanContext описывается ниже, на листинге 26

	BeanContext getBeanContext (); 
	// Опрашивает ассоциацию

	. . .
}

Листинг 23.

public interface BeanContextListener 
	extends java.util.EventListener {

	void beanContextChanged (BeanContextEvent bce); 
	// Метод, вызываемый в объектах-подписчиках 
	// при изменениях контейнера 

}

Листинг 24.

public abstract class BeanContextEvent 
	extends java.util.EventObject {

	public BeanContext getBeanContext (); 
	// Возвращает контейнер, распространяющий событие

	public synchronized void setPropagatedFrom
		(BeanContext bc); 
	// Устанавливает первоисточник события

	public synchronized BeanContext 
		getPropagatedFrom (); 
	// Возвращает первоисточник события

	public synchronized boolean isPropagated (); 
	// Истина, если событие является вторичным 

}

Листинг 25.

public abstract class BeanContextMembershipEvent
	extends BeanContextEvent {

	public boolean isDeltaMember (Object o); 
	// Истина, если заданный компонент был добавлен 
	// или удален

	public Object [] getDeltas (); 
	// Возвращает добавленные или удаленные компоненты

	public boolean isChildrenAddedEvent (); 
	// Истина, если имело место добавление компонентов

	public boolean isChildrenRemovedEvent (); 
	// Истина, если имело место удаление компонентов 

}

Листинг 26.

public interface BeanContext 
	extends java.beans.BeanContextChild, 
		java.util.Collection {

	Object instantiateChild (String beanName) 
		throws IOException, ClassNotFoundException; 
	// Создает новый экземпляр компонента, заданного 
	// именем, и включает его в себя как в контейнер

	Object hasService (Class serviceClass,
 				BeanContextChild requestor); 
	// Истина, если контейнер предоставляет 
	// запрашиваемый сервис

	Object getService (Class serviceClass,
				BeanContextChild requestor); 
	// Возвращает сервисный объект запрашиваемого класса

	public java.net.URL getResource (String name, 
				BeanContextChild requestor); 
	// Возвращает универсальный локатор ресурса 
	// с заданным именем

	void addBeanContextListener 
		(BeanContextListener bcl);

	void removeBeanContextListener 
		(BeanContextListener bcl);
	. . .
}

Листинг 27.

public class InfoBus extends Object {

	public static synchronized InfoBus 
		open (Component c); 
	// Получение ссылки на экземпляр шины. 
	// Аргумент используется для определения контекста 
	// (контейнера), для которого подходящая шина, возможно,
	// уже существует. При необходимости создается 
	// новый экземпляр шины

	public static synchronized InfoBus 
		open (String busName); 
	// Получение ссылки на экземпляр шины. Аргумент задает
	// желательное имя экземпляра. Обычно используется 
	// не-компонентами (например, инструментальным 
	// окружением)

	public synchronized void join (InfoBusMember member) 
		throws  PropertyVetoException, 
				InfoBusMembershipException; 
	// Включение заданного компонента в число членов шины.
	// Компонент, желающий подключиться к шине, должен 
	// реализовать интерфейс InfoBusMember. Экземпляр 
	// шины устанавливается в качестве значения свойства 
	// InfoBus нового члена

	public void leave (InfoBusMember member) 
		throws PropertyVetoException; 
	// Выведение компонента из числа членов шины. 
	// Обычно вызывается самим компонентом

	public void propertyChange 
		(PropertyChangeEvent event); 
	// Обработка события, вызванного изменением значения 
	// свойства InfoBus у какого-либо члена шины. Служит 
	// для обеспечения целостности связей между шинами и 
	// их членами

	public void addDataProducer 
		(InfoBusDataProducer producer); 
	public void addDataConsumer 
		(InfoBusDataConsumer consumer); 
	// Обслуживание подписки на события в экземпляре шины, 
	// запрашиваемой поставщиками и/или потребителями 
	// элементов данных

	public void fireItemAvailable (String dataItemName, 
		InfoBusDataProducer producer); 
	// Распространение среди потребителей события, 
	// состоящего в том, что на шине появился элемент 
	// данных с указанным именем, помещенный заданным 
	// поставщиком

	public DataItem findDataItem (String dataItemName, 
		InfoBusDataConsumer consumer); 
	// Распространение среди поставщиков события, 
	// состоящего в том, что заданный потребитель 
	// нуждается в элементе данных с указанным именем
	. . .

}

Листинг 28.

public interface InfoBusMember {

	public void setInfoBus (InfoBus infobus) 
		throws PropertyVetoException; 
	// Установка шины, ассоциированной с компонентом. 
	// Обычно вызывается методом InfoBus.join()

	public void addInfoBusListener 
		(VetoableChangeListener vcl);
	// Обслуживание подписки на возможность запрета 
	// изменения свойства InfoBus

	public void addInfoBusListener
		(PropertyChangeListener pcl); 
	// Обслуживание подписки на информацию об изменении 
	// свойства InfoBus
	. . .

}

Листинг 29.

public class InfoBusMemberImpl 
	extends Object implements InfoBusMember {

	public void joinInfoBus (String busName) 
		throws InfoBusMembershipException; 
	// Подключение к шине с заданным именем

	public void leaveInfoBus () 
		throws PropertyVetoException, 
			   InfoBusMembershipException; 
	// Отключение от шины
. . . 

}

Листинг 30.

public class InfoBusEvent 
	extends java.util.EventObject {

	InfoBusEvent (String itemName, 
		InfoBusEventListener source); 
	// Конструктор. Задаются имя ассоциированного 
	// элемента данных и источник события

	public String getDataItemName (); 
	// Возвращает имя ассоциированного элемента данных 
}

Листинг 31.

public class InfoBusItemRequestedEvent 
	extends InfoBusEvent {

	InfoBusItemRequestedEvent (String itemName, 
				InfoBusDataConsumer consumer); 
	// Конструктор. Устанавливает пустое значение 
	// свойства DataItem и вызывает конструктор
 	// InfoBusEvent

	public void setDataItem (DataItem item); 
	// Ассоциирует элемент данных с событийным объектом

	public DataItem getDataItem (); 
	// Возвращает ассоциированный элемент данных

	public InfoBusDataConsumer getSourceAsConsumer ();
	// Возвращает источник события 
}

Листинг 32.

public interface Aggregate 
	extends java.rmi.Remote, java.io.Serializable {

	Aggregate getInstanceOf 
		(Class requestedInterface); 
	// Возвращает объект, реализующий методы 
	// заданного интерфейса (класса)

	boolean isInstanceOf (Class requestedInterface);
	// Истина, если заданный интерфейс (класс) входит
	// в число поддерживаемых

	Enumeration getTypes (); 
	// Возвращает набор поддерживаемых интерфейсов 
	// (классов)
	... 

}


Comments: info@citmgu.ru
Copyright © CIT