SeamFramework.orgCommunity Documentation

Chapitre 32. Les composants livrés par Seam

32.1. Les composant d'injection de contexte
32.2. Les composants liés à JSF
32.3. Les composants utilitaires
32.4. Les composants pour l'internationnalisation et les thèmes
32.5. Components for controlling conversations
32.6. jBPM-related components
32.7. Security-related components
32.8. JMS-related components
32.9. Mail-related components
32.10. Infrastructural components
32.11. Miscellaneous components
32.12. Special components

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;

Tous ces composants sont toujours installés.

Le groupe suivant de composants est fourni pour suppléer JSF.

org.jboss.seam.faces.dateConverter

Fourni 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.facesMessages

Permet aux messages de succès faces de se propager au travers d'une redirection du navigateur.

org.jboss.seam.faces.redirect

Une 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).

org.jboss.seam.faces.httpError

Une API utile pour les envoyer les erreurs HTTP.

org.jboss.seam.ui.renderStampStore

Un 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).

Ces composants sont installé quand la classe javax.faces.context.FacesContext est disponible dans le classpath.

Ces composants sont simplement utiles.

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.locale

La locale de Seam.

org.jboss.seam.international.timezone

Le fuseau horaire de Seam. Le fuseau horaire est d'étendue de session.

org.jboss.seam.core.resourceBundle

Le 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.resourceLoader

Le chargeur de ressource permet l'accès aux ressources de l'application et aux ressources livrés.

org.jboss.seam.international.localeSelector

Permet la sélection de la locale aussi bien pendant la partie configuration ou par l'utilisateur à l'éxécution.

org.jboss.seam.international.timezoneSelector

Permet la sélection d'un fuseau horaire pendant la partie configuration, ou par l'utilisateur à l'exécution.

org.jboss.seam.international.messages

Une 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.themeSelector

Permet la sélection d'un thème aussi bien pendant la phase de configuration que par l'utilisateur pendant l'exécution.

org.jboss.seam.theme.theme

A 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.conversation

API for application control of attributes of the current Seam conversation.

org.jboss.seam.core.conversationList

Manager component for the conversation list.

org.jboss.seam.core.conversationStack

Manager component for the conversation stack (breadcrumbs).

org.jboss.seam.faces.switcher

The conversation switcher.

Tous ces composants sont toujours installés.

These components are for use with jBPM.

org.jboss.seam.pageflow.pageflow

API control of Seam pageflows.

org.jboss.seam.bpm.actor

API for application control of attributes of the jBPM actor associated with the current session.

org.jboss.seam.bpm.transition

API for application control of the jBPM transition for the current task.

org.jboss.seam.bpm.businessProcess

API for programmatic control of the association between the conversation and business process.

org.jboss.seam.bpm.taskInstance

Manager component for the jBPM TaskInstance.

org.jboss.seam.bpm.processInstance

Manager component for the jBPM ProcessInstance.

org.jboss.seam.bpm.jbpmContext

Manager component for an event-scoped JbpmContext.

org.jboss.seam.bpm.taskInstanceList

Manager component for the jBPM task list.

org.jboss.seam.bpm.pooledTaskInstanceList

Manager component for the jBPM pooled task list.

org.jboss.seam.bpm.taskInstanceListForType

Manager component for the jBPM task lists.

org.jboss.seam.bpm.pooledTask

Action handler for pooled task assignment.

org.jboss.seam.bpm.processInstanceFinder

Manager for the process instance task list.

org.jboss.seam.bpm.processInstanceList

The 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.

These components are for use with managed TopicPublishers and QueueSenders (see below).

These components are for use with Seam's Email support

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.init

Initialization settings for Seam. Always installed.

org.jboss.seam.core.manager

Internal component for Seam page and conversation context management. Always installed.

org.jboss.seam.navigation.pages

Internal component for Seam workspace management. Always installed.

org.jboss.seam.bpm.jbpm

Bootstraps a JbpmConfiguration. Install as class org.jboss.seam.bpm.Jbpm.

org.jboss.seam.core.conversationEntries

Internal session-scoped component recording the active long-running conversations between requests.

org.jboss.seam.faces.facesPage

Internal page-scoped component recording the conversation context associated with a page.

org.jboss.seam.persistence.persistenceContexts

Internal component recording the persistence contexts which were used in the current conversation.

org.jboss.seam.jms.queueConnection

Manages a JMS QueueConnection. Installed whenever managed QueueSender is installed.

org.jboss.seam.jms.topicConnection

Manages a JMS TopicConnection. Installed whenever managed TopicPublisher is installed.

org.jboss.seam.persistence.persistenceProvider

Abstraction layer for non-standardized features of JPA provider.

org.jboss.seam.core.validators

Caches instances of Hibernate Validator ClassValidator.

org.jboss.seam.faces.validation

Allows the application to determine whether validation failed or was successful.

org.jboss.seam.debug.introspector

Support for the Seam Debug Page.

org.jboss.seam.debug.contexts

Support for the Seam Debug Page.

org.jboss.seam.exception.exceptions

Internal component for exception handling.

org.jboss.seam.transaction.transaction

API for controlling transactions and abstracting the underlying transaction management implementation behind a JTA-compatible interface.

org.jboss.seam.faces.safeActions

Decides 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

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.

<entityManager>, org.jboss.seam.persistence.ManagedPersistenceContext

Le composant de gestion d'un EntityManager géré par une étendue conversationnelle avec un contexte de persistence étendue.

<entityManagerFactory>, org.jboss.seam.persistence.EntityManagerFactory

Gestion d'une EntityManagerFactory JPA. Le plus utilisé quand on utilise JPA sans environement supportant EJB 3.0.

Voir l'API JavaDoc pour plus de propriétés de configuration.

<session>, org.jboss.seam.persistence.ManagedSession

Le composant de gestion d'un EntityManager géré par Hibernate d'étendue conversationnel.

<sessionFactory>, org.jboss.seam.persistence.HibernateSessionFactory

Gestion d'une SessionFactory d'Hibernate.

Voir l'API JavaDoc pour plus de propriétés de configuration.

<managedQueueSender>, org.jboss.seam.jms.ManagedQueueSender

Le composant de gestion d'une QueueSender de JMS géré d'étendue évènementiel.

<managedTopicPublisher>, org.jboss.seam.jms.ManagedTopicPublisher

Le composant de gestion d''un TopicPublisher JMS d'étendue évènementiel

<managedWorkingMemory>, org.jboss.seam.drools.ManagedWorkingMemory

Le composant de gestion d'un WorkingMemory Drools géré par une étendue conversationnelle.

<ruleBase>, org.jboss.seam.drools.RuleBase

Le 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.

<entityHome>, org.jboss.seam.framework.EntityHome

<hibernateEntityHome>, org.jboss.seam.framework.HibernateEntityHome

<entityQuery>, org.jboss.seam.framework.EntityQuery

<hibernateEntityQuery>, org.jboss.seam.framework.HibernateEntityQuery