001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.jsf2.metafacades; 006 007import java.util.Collection; 008import java.util.List; 009import org.andromda.metafacades.uml.DependencyFacade; 010import org.andromda.metafacades.uml.FrontEndController; 011 012/** 013 * Represents a controller for a JSF application. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface JSFController 018 extends FrontEndController 019{ 020 /** 021 * Indicates the metafacade type (used for metafacade mappings). 022 * 023 * @return boolean always <code>true</code> 024 */ 025 public boolean isJSFControllerMetaType(); 026 027 /** 028 * All services the controller needs. 029 * @return Collection 030 */ 031 public Collection getAllServices(); 032 033 /** 034 * The bean name of this controller (this is what is stored in the JSF configuration file). 035 * @return String 036 */ 037 public String getBeanName(); 038 039 /** 040 * The calculated serial version UID for this controller. 041 * @return String 042 */ 043 public String getControllerSerialVersionUID(); 044 045 /** 046 * The fully qualified implementation name of this controller. 047 * @return String 048 */ 049 public String getFullyQualifiedImplementationName(); 050 051 /** 052 * The fully qualified path to the controller implemention file. 053 * @return String 054 */ 055 public String getFullyQualifiedImplementationPath(); 056 057 /** 058 * The implementation name of this controller. 059 * @return String 060 */ 061 public String getImplementationName(); 062 063 /** 064 * References to packages containing services this controller depends 065 * @return List<DependencyFacade> 066 */ 067 public List<DependencyFacade> getServicesPackagesReferences(); 068 069 /** 070 * All dependencies to VOs to be kept in the session. 071 * @return List<DependencyFacade> 072 */ 073 public List<DependencyFacade> getSessionObjectReferences(); 074}