Source code: dr/davmgr/protocol/ProtocolHandler.java
1 package dr.davmgr.protocol;
2
3 import java.util.*;
4 import java.net.*;
5
6 import dr.davmgr.protocol.cmd.*;
7
8 /** Instances handle protocols. If you append a new protocol
9 add an entry to dr.davmgr.protocol.Protocol.properties. The
10 class name you added to Protocol.properties have to
11 implement this interface.
12 *@author Daniel Rohde
13 */
14 public interface ProtocolHandler
15 {
16
17 /** Executes a request.
18 *@param request ProtocolRequest instance with a Command
19 *@return a ProtocolResponse instance
20 *@see dr.davmgr.protocol.cmd
21 *@see dr.davmgr.protocol.ProtocolRequest
22 *@see dr.davmgr.protocol.ProtocolResponse
23 */
24 public ProtocolResponse executeRequest(ProtocolRequest request);
25
26 /** Undo a request.
27 *@param request a ProtocolRequest
28 *@return a ProtocolResponse instance
29 */
30 public ProtocolResponse undoRequest(ProtocolRequest request);
31
32 /** Adds a attribute filter.
33 *@param attributeFilter a attribute filter that implements AttributeFilter
34 *@return true if attribute filter is accepted; false otherwise
35 *@see dr.davmgr.protocol.AttributeFilter
36 */
37 public boolean addAttributeFilter(AttributeFilter attributeFilter);
38
39 /** Removes a attribute filter.
40 *@param attributeFilter a attribute filter.
41 *@return true if remove was successful; false otherwise
42 */
43 public boolean removeAttributeFilter(AttributeFilter attributeFilter);
44
45 /** Returns a list of supported attributes including default
46 attributes of Urls.
47 *@return a List instance with all supported attribute names includes default attributes.
48 */
49 public List getAttributeNames();
50
51
52 /** Obsolete! */
53 public AttributeFilterFactory getAttributeFilterFactory();
54
55 }