001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml; 006 007import java.util.Collection; 008 009/** 010 * Reprsents an operation of a service. 011 * 012 * Metafacade interface to be used by AndroMDA cartridges. 013 */ 014public interface ServiceOperation 015 extends OperationFacade 016{ 017 /** 018 * Indicates the metafacade type (used for metafacade mappings). 019 * 020 * @return boolean always <code>true</code> 021 */ 022 public boolean isServiceOperationMetaType(); 023 024 /** 025 * The destination for any incoming messages. 026 * @return Destination 027 */ 028 public Destination getIncomingDestination(); 029 030 /** 031 * The destination for any outgoing messages. 032 * @return Destination 033 */ 034 public Destination getOutgoingDestination(); 035 036 /** 037 * The users of the service operation, these are the actor's that can access this operation. 038 * @return Collection<Role> 039 */ 040 public Collection<Role> getRoles(); 041 042 /** 043 * The service which owns the service operation. 044 * @return Service 045 */ 046 public Service getService(); 047 048 /** 049 * Whether or not this operation represents an "incoming" message operation (i.e. it receives 050 * messages from Queues or Topics). 051 * @return boolean 052 */ 053 public boolean isIncomingMessageOperation(); 054 055 /** 056 * Whether or not this is operation accepts incoming or outgoing messages. 057 * @return boolean 058 */ 059 public boolean isMessageOperation(); 060 061 /** 062 * Whether or not this service operation represents an "outgoing" messaging operation (i.e. it 063 * sends messages to Queues or Topics). 064 * @return boolean 065 */ 066 public boolean isOutgoingMessageOperation(); 067}