View Javadoc

1   package org.ocltf.model;
2   
3   import java.util.Collection;
4   
5   /***
6    * Specifies a "facade" for an underlying operation. 
7    *
8    * @author Chad Brandon
9    */
10  public interface OperationFacade extends ElementFacade {
11  
12  	/***
13  	 * Retrieves the return type(s) for the specified operation
14  	 * @return Collection - the possible return types.
15  	 */
16  	public Collection getReturnTypes();
17  
18  	/***
19  	 * Retrieves a Collection of all ParameterFacades
20  	 * that his OperationFacade contains.
21  	 * @return Collection all of the ParameterFacades representing
22  	 *         the Parameters
23  	 **/
24  	public Collection getParameters();
25  	
26  	/***
27  	 * Gets the visibility modifier (i.e, public, private, etc.)
28  	 * 
29  	 * @return String - the visibility as a string.
30  	 */
31  	public String getVisibilityModifier();
32  	
33  	/***
34  	 * Gets the return type of the 
35  	 * underlying operation as a ClassifierFacade.
36  	 * 
37  	 * @return ClassifierFacade - the return type;
38  	 */
39  	public ClassifierFacade getReturnType();
40  
41  	/***
42  	 * Retrieves the argument type(s) for the specified operation.
43  	 * 
44  	 * @return Collection - the collection of argument types.
45  	 */
46  	public Collection getArgumentTypes();
47  
48  	/***
49  	 * Returns true if the operation is an operation and
50  	 * if it is a query.
51  	 * 
52  	 * @return true if its a query, false otherwise
53  	 */
54  	public boolean isQuery();
55  	
56  	/***
57  	 * Returns the 'owner' of this operation 
58  	 * (the ClassiferFacade type).
59  	 * 
60  	 * @return ClassifierFacade the owner
61  	 */
62  	public ClassifierFacade getOwner();
63  
64  }