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 * A front-end parameter is a parameter passed between front-end action states. 011 * 012 * Metafacade interface to be used by AndroMDA cartridges. 013 */ 014public interface FrontEndParameter 015 extends ParameterFacade 016{ 017 /** 018 * Indicates the metafacade type (used for metafacade mappings). 019 * 020 * @return boolean always <code>true</code> 021 */ 022 public boolean isFrontEndParameterMetaType(); 023 024 /** 025 * The action to which this parameter belongs (if it belongs to an action), otherwise it returns 026 * null. 027 * @return FrontEndAction 028 */ 029 public FrontEndAction getAction(); 030 031 /** 032 * Gets the controller operation to which this parameter belongs. 033 * @return FrontEndControllerOperation 034 */ 035 public FrontEndControllerOperation getControllerOperation(); 036 037 /** 038 * A collection of all possible attribute names of a table (this will only work when your table 039 * is modeled as an array..not a collection). 040 * @return Collection<String> 041 */ 042 public Collection<String> getTableAttributeNames(); 043 044 /** 045 * All the columns for this parameter if it represents a table variable. If a column is linked 046 * by an event (action) a FrontEndParameter instance is included in the return value, otherwise 047 * a plain String representing the column name. 048 * @return Collection<String> 049 */ 050 public Collection<String> getTableColumnNames(); 051 052 /** 053 * A list of all attributes which make up the table columns of this table (this only contains 054 * attributes when the table is represented by an array). 055 * @return Collection<String> 056 */ 057 public Collection<String> getTableColumns(); 058 059 /** 060 * Represents the view in which this parameter will be used. 061 * @return FrontEndView 062 */ 063 public FrontEndView getView(); 064 065 /** 066 * Indicates whether or not this is an action parameter or not. 067 * @return boolean 068 */ 069 public boolean isActionParameter(); 070 071 /** 072 * Indicates if this parameter is contained in a "front-end" use case. 073 * @return boolean 074 */ 075 public boolean isContainedInFrontEndUseCase(); 076 077 /** 078 * Indicates whether or not this parameter is an argument of a controller operation. 079 * @return boolean 080 */ 081 public boolean isControllerOperationArgument(); 082 083 /** 084 * Indicates whether or not this parameter represents a table. 085 * @return boolean 086 */ 087 public boolean isTable(); 088}