1   /*
2    * Copyright 2000-2001,2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  /* 
18  
19   */
20  
21  package org.apache.wsrp4j.producer.provider;
22  
23  import java.util.Iterator;
24  
25  import org.apache.wsrp4j.exception.WSRPException;
26  
27  /**
28   * This interface provides methods to make portlets available
29   * to a certain consumer. If a certain consumer deregisters, the consumer
30   * registry is responsible for updating, i.e. removing the entries within
31   * the PortletRegistratinFilter component. If an portlet was removed, the
32   * portlet pool has to remove the affected entries by calling the provided
33   * remove-methods.
34   *
35   * @author <a href="mailto:stefan.behl@de.ibm.com">Stefan Behl</a>
36   *                                                                          
37   * @version 1.1
38   *
39   */
40  public interface PortletRegistrationFilterWriter extends
41          PortletRegistrationFilter {
42  
43      /**
44       * Makes a certain portlet (identified by portletHandle) available to a consumer
45       * (identified by regHandle). If there is no portlet in the portlet pool that
46       * corresponds to portletHandle, the method performs nothing. 
47       *
48       * @param regHandle String representing the registration handle of a consumer
49       * @param portletHandle String representing the portlet handle of a consumer
50       */
51      public void makeAvailable(String regHandle, String portletHandle)
52              throws WSRPException;
53  
54      /**
55       * Makes several portlets (identified by portletHandles) available to
56       * a certain consumer (identified by regHandle). For portlet handles that do not
57       * correspond to portlets kept within the portlet pool, the method makes no
58       * availability-entry.
59       *
60       * @param regHandle String representing the registration handle of a consumer
61       * @param portletHandles Iterator containing some portlet handles of portlets
62       */
63      public void makeAvailable(String regHandle, Iterator portletHandles)
64              throws WSRPException;
65  
66      /**
67       * Removes an entire entry for a certain consumer (identified by regHandle).
68       * If there are no entries for the provided regHandle, the method performs
69       * nothing. The method is useful when a consumer deregisters.
70       *
71       * @param regHandle String representing the registration handle of a consumer
72       */
73      public void remove(String regHandle);
74  
75      /**
76       * Abrogates the availability of a certain portlet (identified by portletHandle)
77       * regarding a certain consumer (identified by regHandle). If there is no entry
78       * for the provided regHandle and portletHandle, the method performs nothing.
79       *
80       * @param regHandle String representing the registration handle of a consumer
81       * @param portletHandle String representing the portlet handle of a consumer
82       */
83      public void remove(String regHandle, String portletHandle)
84              throws WSRPException;
85  
86      /**
87       * Abrogates the availability of several portlets (identified by portletHandles)
88       * regarding a certain consumer (identified by regHandle). For portlet handles
89       * that do not correspond to portlets kept within the portlet pool, the method
90       * performs nothing.
91       *
92       * @param regHandle String representing the registration handle of a consumer
93       * @param portletHandles Iterator containing some portlet handles of portlets
94       */
95      public void remove(String regHandle, Iterator portletHandles)
96              throws WSRPException;
97  
98  }