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 }