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.consumer;
22  
23  import java.util.Map;
24  
25  /**
26   * This interface provides methods to query the consumer's urls. 
27   * These methods could be used to implement consumer url rewriting.
28   *
29   * @author <a href="mailto:stefan.behl@de.ibm.com">Stefan Behl</a>
30   **/
31  public interface URLGenerator {
32  
33      /**
34       * Creates a URL pointing to the consumer,triggering a performBlockingInteraction call.    
35       * 
36       * @param params A map with all parameters which should be appended
37       *               to the URL.
38       *
39       * @return a blockingInteraction URL
40       **/
41      public String getBlockingActionURL(Map params);
42  
43      /**
44       * Creates a URL pointing to the consumer,triggering a getMarkup call.    
45       * 
46       * @param params A map with all parameters which should be appended
47       *               to the URL.
48       *
49       * @return a getMarkup URL
50       **/
51      public String getRenderURL(Map params);
52  
53      /**
54       * Creates a URL pointing to the consumer,triggering the consumer
55       * to fetch a certain resource
56       * 
57       * @param params A map with all parameters which should be appended
58       *               to the URL.
59       *
60       * @return a resource URL
61       **/
62      public String getResourceURL(Map params);
63  
64      /**
65       * Creates a 'url' that the consumer can use to namespace tokens.    
66       *     
67       *
68       * @return a prefix which ca nbe used to namespace tokens.
69       **/
70      public String getNamespacedToken(String token);
71  
72  }