SeamFramework.orgCommunity Documentation
Ce chapitre décrit les composants livrés par Seam et leur propriétés de configuration. Les composants livrés par Seam seront crées même si ils ne sont listés dans votre fichier components.xml, mais si vous avez besoin de surcharger les propriétés par défaut ou de spécifier plus d'un composant d'un certain type, components.xml est à utiliser.
Notez que vous pouvez remplacer tout les composants livrés par vos propres implémentations simplement en spécifiant le nom d'un des composants livrés dans votre propre classe en utilisant @Name.
Le premier groupe de composants livré existe primitivement pour supporter l'injection des différents 'objets contextuel. Par exemple, les instances de composants suivantes devrait avoir l'objet contexte de session de Seam injecté:
@In private Context sessionContext;
org.jboss.seam.core.contextsLe composant qui fourni un accès aux objets de Contexte de Seam, par exemple org.jboss.seam.core.contexts.sessionContext['user'].
org.jboss.seam.faces.facesContextLe composant de gestion pour l'objet de contexte FacesContext (pas un vrai contexte de Seam)
Tous ces composants sont toujours installés.
Le groupe suivant de composants est fourni pour suppléer JSF.
org.jboss.seam.faces.dateConverterFourni un convertisseur JSF par défaut pour les propriétés de type java.util.Date.
Ce convertisseur est automatiquement activé avec JSF. Il est fourni pour éviter au développeur d'avoir à spécifier un DateTimeConverter sur un champs de saisie ou en paramètre de page. Par défaut, il suppose que le type doit être une date (à la différence d'une heure ou de la date plus l'heure) et utilise le style de saisie de date courte ajustée à la Locale de l'utilisateur. Pour la Locale .US, le patron d'entrée est mm/DD/yy. Cependant pour être valide avec Y2K, l'année est modifié de deux chiffres vers quatre (autrement dit mm/DD/yyyy).
C'est possible de surcharger le patron d'entrée globallement en utilisation la configuration du composant. Consultez la JavaDoc pour cette classe pour voir les exemples.
org.jboss.seam.faces.facesMessagesPermet aux messages de succès faces de se propager au travers d'une redirection du navigateur.
add(FacesMessage facesMessage) — ajoute un message faces, qui sera affiché pendant la porchaine phase de rendue de la réponse qui intervendra dans cette conversation courante.
add(String messageTemplate) — ajoute un message faces, rendu depuis un modèle de message donnée qui peut contenir des expressions EL.
add(Severity severity, String messageTemplate) — ajoute un message faces, rendu depuis un modèle de message donnée qui peut contenir des expressions EL.
addFromResourceBundle(String key) —ajoute un message faces, rendu depuis un modèle de message défini dans le fichier de ressource livré de Seam qui peut contenir des expressions EL.
addFromResourceBundle(String key) —ajoute un message faces, rendu depuis un modèle de message défini dans le fichier de ressource livré de Seam qui peut contenir des expressions EL.
clear() — efface tous les messages.
org.jboss.seam.faces.redirectUne API utile pour réaliser les redictions avec paramètres (c'est particulièrement utile pour les écrans de résultat de recherche à utiliser en favoris).
redirect.viewId — l'identifiant de vue JSF à rediriger vers.
redirect.conversationPropagationEnabled — détermines si la conversation sera propagé au travers d'une redirection.
redirect.parameters — une table de hachage de nom de paramètre de requête et de valeur, doit être passé dans la requête de redirection.
execute() — réalise la redirection immédiatement.
captureCurrentRequest() — stoque l'identifiant de vue et les paramètres de la requête de la requête courrant GET (dans le contexte de conversation), pour l'utiliser plus tard en appelant execute().
org.jboss.seam.faces.httpErrorUne API utile pour les envoyer les erreurs HTTP.
org.jboss.seam.ui.renderStampStoreUn composant (d'étendue de session par défaut) responsable de la conservation d'une collection d'empreinte de rendue. Une empreinte de rendue est un indicateur fait pour savoir si un formulaire qui a été rendu a été soumis. Ce stockage est utile quand la méthode de sauvegarde de l'état côté client de JSF a été utilisée par ce qu'il indique que l'objectif a été d'avoir un formulaire qui a été soumis dans le contrôle du serveur au lieur de l'avoir dans l'arbre de composant qui a été maintenu sur le client.
Pour détacher cette vérification depuis la session (ce qui est l'un des principaux objectifs du design d'une sauvegarde d'état côté client) une implémentation doit être fournie pour stocker les empreintes de rendue pour l'application ( valide aussi longtemps que l'application est exécutée) ou pour la base de données (valide au travers des rédémarrage du serveur).
maxSize — Le nombre maximun d'empreintes qui doient être conservées dans le stockage. Par défaut: 100
Ces composants sont installé quand la classe javax.faces.context.FacesContext est disponible dans le classpath.
Ces composants sont simplement utiles.
org.jboss.seam.core.eventsUne API pour lever les évènements qui peuvent être observé via les méthodes @Observer, ou en liaison avec une méthode dans components.xml.
raiseEvent(String type) — lève un évènement d'un type particulier et le distribue à tous les observateurs.
raiseAsynchronousEvent(String type) — lève un évènement qui doit être exécuté de manière assynchrone par le service de temps d'EJB3.
raiseTimedEvent(String type, ....) — planifie un évènement qui doit être exécuté par le service de temps EJB3.
addListener(String type, String methodBinding) — ajoute un observateur pour un type d'évènement particulier.
org.jboss.seam.core.interpolatorUne API pour l'interpolation de valeurs des expressions EL de JSF en Strings.
interpolate(String template) — analyse le modèle pour des expressions EL de JSF de la forme #{...} et les replace par leurs valeurs évaluées.
org.jboss.seam.core.expressionsUne API pour la création de valeur et la liaison avec les méthodes.
createValueBinding(String expression) — création d'un objet lié avec une valeur.
createMethodBinding(String expression) — création d'un objet lié à une méthode.
org.jboss.seam.core.pojoCacheLe composant de gestion pour une instance de Jboss Cache PojoCache.
pojoCache.cfgResourceName — le nom du fichier de configuration. Par défaut,treecache.xml.
Tous ces composants sont toujours installés.
Le groupe suivant de composants rend facile la constructions d'interfaces utilisateurs internationnalisés en utilisant Seam.
org.jboss.seam.core.localeLa locale de Seam.
org.jboss.seam.international.timezoneLe fuseau horaire de Seam. Le fuseau horaire est d'étendue de session.
org.jboss.seam.core.resourceBundleLe fichier de ressource livré dans Seam. Le fichier de ressource livré est sans état. Le fichier de ressource de Seam réalise une recherche du premier résultat dans les clefs dans la liste de fichiers de ressource Java livré.
org.jboss.seam.core.resourceLoaderLe chargeur de ressource permet l'accès aux ressources de l'application et aux ressources livrés.
resourceLoader.bundleNames — les noms des ressources Java livrés pour savoir quand le fichier de ressources Seam livré est utilisé. Par défaut à messages.
org.jboss.seam.international.localeSelectorPermet la sélection de la locale aussi bien pendant la partie configuration ou par l'utilisateur à l'éxécution.
select() — sélectionne la locale spécifiée.
localeSelector.locale — La java.util.Locale actuelle.
localeSelector.localeString — La représentation transformée en texte de la locale.
localeSelector.language — la langue pour la locale spécifiée.
localeSelector.country — le pays pour la locale spécifiée.
localeSelector.variant — la variation de la langue pour la locale spécifiée.
localeSelector.supportedLocales — une liste de SelectItems réprésentant les locales supportés et listées dans jsf-config.xml.
localeSelector.cookieEnabled — spécifie que la sélection de la locale devrait être persistée via un cookie.
org.jboss.seam.international.timezoneSelectorPermet la sélection d'un fuseau horaire pendant la partie configuration, ou par l'utilisateur à l'exécution.
select() — sélectionne la locale spécifiée.
timezoneSelector.timezone — La java.util.TimeZone actuelle.
timezoneSelector.timeZoneId — la représentation en texte du fuseau horaire.
timezoneSelector.cookieEnabled — spécifie que la sélection du fuseau horaire devrait êre persisté via un cookie.
org.jboss.seam.international.messagesUne table de hachage contenant le rendu des messages internationnalisés depuis un modèle de message défini dans le fichier de ressource de Seam livré.
org.jboss.seam.theme.themeSelectorPermet la sélection d'un thème aussi bien pendant la phase de configuration que par l'utilisateur pendant l'exécution.
select() — select the specified theme.
theme.availableThemes — the list of defined themes.
themeSelector.theme — the selected theme.
themeSelector.themes — a list of SelectItems representing the defined themes.
themeSelector.cookieEnabled — specifies that the theme selection should be persisted via a cookie.
org.jboss.seam.theme.themeA map containing theme entries.
Tous ces composants sont toujours installés.
The next group of components allow control of conversations by the application or user interface.
org.jboss.seam.core.conversationAPI for application control of attributes of the current Seam conversation.
getId() — returns the current conversation id
isNested() — is the current conversation a nested conversation?
isLongRunning() — is the current conversation a long-running conversation?
getId() — returns the current conversation id
getParentId() — returns the conversation id of the parent conversation
getRootId() — returns the conversation id of the root conversation
setTimeout(int timeout) — sets the timeout for the current conversation
setViewId(String outcome) — sets the view id to be used when switching back to the current conversation from the conversation switcher, conversation list, or breadcrumbs.
setDescription(String description) — sets the description of the current conversation to be displayed in the conversation switcher, conversation list, or breadcrumbs.
redirect() — redirect to the last well-defined view id for this conversation (useful after login challenges).
leave() — exit the scope of this conversation, without actually ending the conversation.
begin() — begin a long-running conversation (equivalent to @Begin).
beginPageflow(String pageflowName) — begin a long-running conversation with a pageflow (equivalent to @Begin(pageflow="...")).
end() — end a long-running conversation (equivalent to @End).
pop() — pop the conversation stack, returning to the parent conversation.
root() — return to the root conversation of the conversation stack.
changeFlushMode(FlushModeType flushMode) — change the flush mode of the conversation.
org.jboss.seam.core.conversationListManager component for the conversation list.
org.jboss.seam.core.conversationStackManager component for the conversation stack (breadcrumbs).
org.jboss.seam.faces.switcherThe conversation switcher.
Tous ces composants sont toujours installés.
These components are for use with jBPM.
org.jboss.seam.pageflow.pageflowAPI control of Seam pageflows.
isInProcess() — returns true if there is currently a pageflow in process
getProcessInstance() — returns jBPM ProcessInstance for the current pageflow
begin(String pageflowName) — begin a pageflow in the context of the current conversation
reposition(String nodeName) — reposition the current pageflow to a particular node
org.jboss.seam.bpm.actorAPI for application control of attributes of the jBPM actor associated with the current session.
setId(String actorId) — sets the jBPM actor id of the current user.
getGroupActorIds() — returns a Set to which jBPM actor ids for the current users groups may be added.
org.jboss.seam.bpm.transitionAPI for application control of the jBPM transition for the current task.
setName(String transitionName) — sets the jBPM transition name to be used when the current task is ended via @EndTask.
org.jboss.seam.bpm.businessProcessAPI for programmatic control of the association between the conversation and business process.
businessProcess.taskId — the id of the task associated with the current conversation.
businessProcess.processId — the id of the process associated with the current conversation.
businessProcess.hasCurrentTask() — is a task instance associated with the current conversation?
businessProcess.hasCurrentProcess() — is a process instance associated with the current conversation.
createProcess(String name) — create an instance of the named process definition and associate it with the current conversation.
startTask() — start the task associated with the current conversation.
endTask(String transitionName) — end the task associated with the current conversation.
resumeTask(Long id) — associate the task with the given id with the current conversation.
resumeProcess(Long id) — associate the process with the given id with the current conversation.
transition(String transitionName) — trigger the transition.
org.jboss.seam.bpm.taskInstanceManager component for the jBPM TaskInstance.
org.jboss.seam.bpm.processInstanceManager component for the jBPM ProcessInstance.
org.jboss.seam.bpm.jbpmContextManager component for an event-scoped JbpmContext.
org.jboss.seam.bpm.taskInstanceListManager component for the jBPM task list.
org.jboss.seam.bpm.pooledTaskInstanceListManager component for the jBPM pooled task list.
org.jboss.seam.bpm.taskInstanceListForTypeManager component for the jBPM task lists.
org.jboss.seam.bpm.pooledTaskAction handler for pooled task assignment.
org.jboss.seam.bpm.processInstanceFinderManager for the process instance task list.
org.jboss.seam.bpm.processInstanceListThe process instance task list.
All of these components are installed whenever the component org.jboss.seam.bpm.jbpm is installed.
These components relate to web-tier security.
org.jboss.seam.web.userPrincipalManager component for the current user Principal.
org.jboss.seam.web.isUserInRoleAllows JSF pages to choose to render a control, depending upon the roles available to the current principal. <h:commandButton value="edit" rendered="#{isUserInRole['admin']}"/>.
These components are for use with managed TopicPublishers and QueueSenders (see below).
org.jboss.seam.jms.queueSessionManager component for a JMS QueueSession .
org.jboss.seam.jms.topicSessionManager component for a JMS TopicSession .
These components are for use with Seam's Email support
org.jboss.seam.mail.mailSessionManager component for a JavaMail Session. The session can be either looked up in the JNDI context (by setting the sessionJndiName property) or it can created from the configuration options in which case the host is mandatory.
org.jboss.seam.mail.mailSession.host — the hostname of the SMTP server to use
org.jboss.seam.mail.mailSession.port — the port of the SMTP server to use
org.jboss.seam.mail.mailSession.username — the username to use to connect to the SMTP server.
org.jboss.seam.mail.mailSession.password — the password to use to connect to the SMTP server
org.jboss.seam.mail.mailSession.debug — enable JavaMail debugging (very verbose)
org.jboss.seam.mail.mailSession.ssl — enable SSL connection to SMTP (will default to port 465)
org.jboss.seam.mail.mailSession.tls — by default true, enable TLS support in the mail session
org.jboss.seam.mail.mailSession.sessionJndiName — name under which a javax.mail.Session is bound to JNDI. If supplied, all other properties will be ignored.
These components provide critical platform infrastructure. You can install a component which isn't installed by default by setting install="true" on the component in components.xml.
org.jboss.seam.core.initInitialization settings for Seam. Always installed.
org.jboss.seam.core.init.jndiPattern — the JNDI pattern used for looking up session beans
org.jboss.seam.core.init.debug — enable Seam debug mode. This should be set to false when in production. You may see errors if the system is placed under any load and debug is enabled.
org.jboss.seam.core.init.clientSideConversations — if set to true, Seam will save conversation context variables in the client instead of in the HttpSession.
org.jboss.seam.core.managerInternal component for Seam page and conversation context management. Always installed.
org.jboss.seam.core.manager.conversationTimeout — the conversation context timeout in milliseconds.
org.jboss.seam.core.manager.concurrentRequestTimeout — maximum wait time for a thread attempting to gain a lock on the long-running conversation context.
org.jboss.seam.core.manager.conversationIdParameter — the request parameter used to propagate the conversation id, default to conversationId.
org.jboss.seam.core.manager.conversationIsLongRunningParameter — the request parameter used to propagate information about whether the conversation is long-running, default to conversationIsLongRunning.
org.jboss.seam.core.manager.defaultFlushMode — set the flush mode set by default on any Seam Managed Persistence Context. By default AUTO.
org.jboss.seam.navigation.pagesInternal component for Seam workspace management. Always installed.
org.jboss.seam.navigation.pages.noConversationViewId — global setting for the view id to redirect to when a conversation entry is not found on the server side.
org.jboss.seam.navigation.pages.loginViewId — global setting for the view id to redirect to when an unauthenticated user tries to access a protected view.
org.jboss.seam.navigation.pages.httpPort — global setting for the port to use when the http scheme is requested.
org.jboss.seam.navigation.pages.httpsPort — global setting for the port to use when the https scheme is requested.
org.jboss.seam.navigation.pages.resources — a list of resources to search for pages.xml style resources. Defaults to WEB-INF/pages.xml.
org.jboss.seam.bpm.jbpmBootstraps a JbpmConfiguration. Install as class org.jboss.seam.bpm.Jbpm.
org.jboss.seam.bpm.jbpm.processDefinitions — a list of resource names of jPDL files to be used for orchestration of business processes.
org.jboss.seam.bpm.jbpm.pageflowDefinitions — a list of resource names of jPDL files to be used for orchestration of conversation page flows.
org.jboss.seam.core.conversationEntriesInternal session-scoped component recording the active long-running conversations between requests.
org.jboss.seam.faces.facesPageInternal page-scoped component recording the conversation context associated with a page.
org.jboss.seam.persistence.persistenceContextsInternal component recording the persistence contexts which were used in the current conversation.
org.jboss.seam.jms.queueConnectionManages a JMS QueueConnection. Installed whenever managed QueueSender is installed.
org.jboss.seam.jms.queueConnection.queueConnectionFactoryJndiName — the JNDI name of a JMS QueueConnectionFactory. Default to UIL2ConnectionFactory
org.jboss.seam.jms.topicConnectionManages a JMS TopicConnection. Installed whenever managed TopicPublisher is installed.
org.jboss.seam.jms.topicConnection.topicConnectionFactoryJndiName — the JNDI name of a JMS TopicConnectionFactory. Default to UIL2ConnectionFactory
org.jboss.seam.persistence.persistenceProviderAbstraction layer for non-standardized features of JPA provider.
org.jboss.seam.core.validatorsCaches instances of Hibernate Validator ClassValidator.
org.jboss.seam.faces.validationAllows the application to determine whether validation failed or was successful.
org.jboss.seam.debug.introspectorSupport for the Seam Debug Page.
org.jboss.seam.debug.contextsSupport for the Seam Debug Page.
org.jboss.seam.exception.exceptionsInternal component for exception handling.
org.jboss.seam.transaction.transactionAPI for controlling transactions and abstracting the underlying transaction management implementation behind a JTA-compatible interface.
org.jboss.seam.faces.safeActionsDecides if an action expression in an incoming URL is safe. This is done by checking that the action expression exists in the view.
These components don't fit into
org.jboss.seam.async.dispatcherDispatcher stateless session bean for asynchronous methods.
org.jboss.seam.core.imageImage manipulation and interrogation.
org.jboss.seam.core.pojoCacheManager component for a PojoCache instance.
org.jboss.seam.core.uiComponentManages a map of UIComponents keyed by component id.
Certain special Seam component classes are installable multiple times under names specified in the Seam configuration. For example, the following lines in components.xml install and configure two Seam components:
<component name="bookingDatabase"
class="org.jboss.seam.persistence.ManagedPersistenceContext">
<property name="persistenceUnitJndiName">java:/comp/emf/bookingPersistence</property>
</component>
<component name="userDatabase"
class="org.jboss.seam.persistence.ManagedPersistenceContext">
<property name="persistenceUnitJndiName">java:/comp/emf/userPersistence</property>
</component>
The Seam component names are bookingDatabase and userDatabase.
org.jboss.seam.persistence.ManagedPersistenceContextLe composant de gestion d'un EntityManager géré par une étendue conversationnelle avec un contexte de persistence étendue.
<entityManager>.entityManagerFactory — une expression liant une valeur qui est évalué par une instance de EntityManagerFactory.
<entityManager>.persistenceUnitJndiName — le nom JNDI de la fabrique d'entity manager, par défaut à java:/<managedPersistenceContext>.
org.jboss.seam.persistence.EntityManagerFactoryGestion d'une EntityManagerFactory JPA. Le plus utilisé quand on utilise JPA sans environement supportant EJB 3.0.
entityManagerFactory.persistenceUnitName — le nom de l'unité de persistance.
Voir l'API JavaDoc pour plus de propriétés de configuration.
org.jboss.seam.persistence.ManagedSessionLe composant de gestion d'un EntityManager géré par Hibernate d'étendue conversationnel.
<session>.sessionFactory — une expression liée à une valeur à évaluer à une instance de SessionFactory.
<session>.sessionFactoryJndiName — le nom JNDI d'une fabrique de session, par défaut à java:/<managedSession>.
org.jboss.seam.persistence.HibernateSessionFactoryGestion d'une SessionFactory d'Hibernate.
<sessionFactory>.cfgResourceName — le chemin vers le fichier de configuration. Par défaut à hibernate.cfg.xml.
Voir l'API JavaDoc pour plus de propriétés de configuration.
org.jboss.seam.jms.ManagedQueueSenderLe composant de gestion d'une QueueSender de JMS géré d'étendue évènementiel.
<managedQueueSender>.queueJndiName — le nom JNDI de la queue JMS.
org.jboss.seam.jms.ManagedTopicPublisherLe composant de gestion d''un TopicPublisher JMS d'étendue évènementiel
<managedTopicPublisher>.topicJndiName — le nom JNDI d'un topic JMS.
org.jboss.seam.drools.ManagedWorkingMemoryLe composant de gestion d'un WorkingMemory Drools géré par une étendue conversationnelle.
<managedWorkingMemory>.ruleBase — une expression de valeur qui est évalué à une instance de RuleBase.
org.jboss.seam.drools.RuleBaseLe composant de gestion pour une RuleBase Drools géré d'étendue application. Notez que ce n'est pas vraiment à essayer en production, surtout que cela ne permet pas l'installation dynamique de nouvelles règles.
<ruleBase>.ruleFiles — une liste de fichier contenant les règles Drools.
<ruleBase>.dslFile — une définition de DSL de Drools.
org.jboss.seam.framework.EntityHomeorg.jboss.seam.framework.HibernateEntityHomeorg.jboss.seam.framework.EntityQueryorg.jboss.seam.framework.HibernateEntityQuery