Seam: Difference between revisions

From Wiki RB4
Line 36: Line 36:
==org.jboss.seam.annotations.Scope==
==org.jboss.seam.annotations.Scope==


  '''org.jboss.seam.annotations.Scope('''<SCOPE_TYPE>''')'''
  '''org.jboss.seam.annotations.Scope(org.jboss.seam.ScopeType.'''<SCOPE_TYPE>''')'''
  <class_declaration>
  <class_declaration>


specifies the scope of a seam component.
specifies the scope of a seam component.

Revision as of 11:23, 29 August 2008

Introduction

Seam manages components, that means it manages the complete lifecycle and scope of the components (inversion of control principle), named as context of a component. Thereto it injects dependencies to the components (dependency injection).

Most Seam application use session beans as JSF action listeners.

Seam lets you use a JSF EL expression inside EJB-QL. Under the covers, this results in an ordinary JPA setParameter() call on the standard JPA Query object.

Seam integrates Hibernate Validator and lets you use it for data validation (even if you are not using Hibernate for persistence).

Installation and Configuration

  • download jboss-seam-2.0.2.SP1.zip and extract to <ECLIPSE_WORKSPACE>
  • add jboss.home to <SEAM_DIR>\build.properties

Annotations

org.jboss.seam.annotations.In

@org.jboss.seam.annotations.In
<attribute_declaration>

The attribute is injected by Seam.

org.jboss.seam.annotations.Logger

@org.jboss.seam.annotations.Logger

The annotation is used to inject the component's Log instance.

org.jboss.seam.annotations.Name

@org.jboss.seam.annotations.Name("<Name>")
<class_declaration>

specifies the name of the seam component.

org.jboss.seam.annotations.Scope

org.jboss.seam.annotations.Scope(org.jboss.seam.ScopeType.<SCOPE_TYPE>)
<class_declaration>

specifies the scope of a seam component.