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 }