API Overview API Index Package Overview Direct link to this page
JDK 1.6
  java.beans.beancontext. BeanContextServices View Javadoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141

/*
 * @(#)BeanContextServices.java	1.10 03/12/19
 *
 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package java.beans.beancontext;

import java.util.Iterator;

import java.util.TooManyListenersException;

import java.beans.beancontext.BeanContext;

import java.beans.beancontext.BeanContextServiceProvider;

import java.beans.beancontext.BeanContextServicesListener;


/**
 * <p>
 * The BeanContextServices interface provides a mechanism for a BeanContext
 * to expose generic "services" to the BeanContextChild objects within.
 * </p>
 */
public interface BeanContextServices extends BeanContext, BeanContextServicesListener {

    /**
     * Adds a service to this BeanContext.
     * <code>BeanContextServiceProvider</code>s call this method 
     * to register a particular service with this context. 
     * If the service has not previously been added, the 
     * <code>BeanContextServices</code> associates
     * the service with the <code>BeanContextServiceProvider</code> and 
     * fires a <code>BeanContextServiceAvailableEvent</code> to all 
     * currently registered <code>BeanContextServicesListeners</code>. 
     * The method then returns <code>true</code>, indicating that 
     * the addition of the service was successful.
     * If the given service has already been added, this method 
     * simply returns <code>false</code>.
     * @param serviceClass     the service to add
     * @param serviceProvider  the <code>BeanContextServiceProvider</code> 
     * associated with the service
     */
    boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider);

    /**
     * BeanContextServiceProviders wishing to remove 
     * a currently registered service from this context
     * may do so via invocation of this method. Upon revocation of 
     * the service, the <code>BeanContextServices</code> fires a 
     * <code>BeanContextServiceRevokedEvent</code> to its
     * list of currently registered 
     * <code>BeanContextServiceRevokedListeners</code> and 
     * <code>BeanContextServicesListeners</code>.
     * @param serviceClass the service to revoke from this BeanContextServices
     * @param serviceProvider the BeanContextServiceProvider associated with
     * this particular service that is being revoked
     * @param revokeCurrentServicesNow a value of <code>true</code> 
     * indicates an exceptional circumstance where the 
     * <code>BeanContextServiceProvider</code> or
     * <code>BeanContextServices</code> wishes to immediately 
     * terminate service to all currently outstanding references 
     * to the specified service.
     */
    void revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow);

    /**
     * Reports whether or not a given service is 
     * currently available from this context.
     * @param serviceClass the service in question
     * @return true if the service is available
     */
    boolean hasService(Class serviceClass);

    /**
     * A <code>BeanContextChild</code>, or any arbitrary object 
     * associated with a <code>BeanContextChild</code>, may obtain 
     * a reference to a currently registered service from its 
     * nesting <code>BeanContextServices</code> 
     * via invocation of this method. When invoked, this method
     * gets the service by calling the getService() method on the 
     * underlying <code>BeanContextServiceProvider</code>.
     * @param child the <code>BeanContextChild</code> 
     * associated with this request
     * @param requestor the object requesting the service
     * @param serviceClass class of the requested service
     * @param serviceSelector the service dependent parameter
     * @param bcsrl the 
     * <code>BeanContextServiceRevokedListener</code> to notify
     * if the service should later become revoked
     * @throws TooManyListenersException 
     * @return a reference to this context's named 
     * Service as requested or <code>null</code>
     */
    Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException;

    /**
     * Releases a <code>BeanContextChild</code>'s 
     * (or any arbitrary object associated with a BeanContextChild) 
     * reference to the specified service by calling releaseService() 
     * on the underlying <code>BeanContextServiceProvider</code>.
     * @param child the <code>BeanContextChild</code>
     * @param requestor the requestor
     * @param service the service
     */
    void releaseService(BeanContextChild child, Object requestor, Object service); 

    /**
     * Gets the currently available services for this context.
     * @return an <code>Iterator</code> consisting of the 
     * currently available services
     */
    Iterator getCurrentServiceClasses();

    /**
     * Gets the list of service dependent service parameters 
     * (Service Selectors) for the specified service, by 
     * calling getCurrentServiceSelectors() on the
     * underlying BeanContextServiceProvider.
     * @param serviceClass the specified service
     * @return the currently available service selectors 
     * for the named serviceClass
     */
    Iterator getCurrentServiceSelectors(Class serviceClass);

    /**
     * Adds a <code>BeanContextServicesListener</code> to this BeanContext
     * @param bcsl the <code>BeanContextServicesListener</code> to add
     */
    void addBeanContextServicesListener(BeanContextServicesListener bcsl);

    /**
     * Removes a <code>BeanContextServicesListener</code> 
     * from this <code>BeanContext</code>
     * @param bcsl the <code>BeanContextServicesListener</code> 
     * to remove from this context
     */
    void removeBeanContextServicesListener(BeanContextServicesListener bcsl);
}

Generated By: JavaOnTracks Doclet 0.1.4     ©Thibaut Colar