SeamFramework.orgCommunity Documentation

Seam


1. Seam
1.1. Overview
I. Forge
Introduction
2. Installation
2.1. Installing a distribution download
3. Generating a basic Java EE web-application
3.1. First steps with Scaffolding
4. Developing a Plugin
4.1. Referencing the Forge APIs
4.1.1. Using Forge
4.1.2. With Maven)
4.2. Implementing the Plugin interface
4.3. Naming your plugin
4.4. Ensure all required classes are on the CLASSPATH
4.5. Make your Plugin available to Forge
4.6. Add commands to your plugin
4.6.1. Default commands
4.6.2. Named commands
4.7. Understanding command @Options
4.7.1. --named options
4.7.2. Ordered options
4.7.3. Combining --named and ordered options
4.7.4. Option attributes and configuration
4.8. Piping output between plugins
II. Seam Configuration
5. Seam Config Introduction
5.1. Getting Started
5.2. The Princess Rescue Example
6. Seam Config XML provider
6.1. XML Namespaces
6.2. Adding, replacing and modifying beans
6.3. Applying annotations using XML
6.4. Configuring Fields
6.4.1. Initial Field Values
6.4.2. Inline Bean Declarations
6.5. Configuring methods
6.6. Configuring the bean constructor
6.7. Overriding the type of an injection point
6.8. Configuring Meta Annotations
6.9. Virtual Producer Fields
6.10. Notes on Configuring Interceptors
6.11. More Information
III. Seam Persistence
7. Seam Persistence Reference
7.1. Introduction
7.2. Getting Started
7.3. Transaction Management
7.3.1. Configuration
7.3.2. Declarative Transaction Management
7.4. Seam-managed persistence contexts
7.4.1. Using a Seam-managed persistence context with JPA
7.4.2. Seam-managed persistence contexts and atomic conversations
7.4.3. Using EL in EJB-QL/HQL
7.4.4. Setting up the EntityManager
IV. Seam Servlet
Introduction
8. Installation
8.1. Maven dependency configuration
8.2. Pre-Servlet 3.0 configuration
9. Servlet event propagation
9.1. Servlet context lifecycle events
9.2. Application initialization
9.3. Servlet request lifecycle events
9.4. Servlet response lifecycle events
9.5. Servlet request context lifecycle events
9.6. Session lifecycle events
9.7. Session activation events
10. Injectable Servlet objects and request state
10.1. @Inject @RequestParam
10.2. @Inject @HeaderParam
10.3. @Inject ServletContext
10.4. @Inject ServletRequest / HttpServletRequest
10.5. @Inject ServletResponse / HttpServletResponse
10.6. @Inject HttpSession
10.7. @Inject HttpSessionStatus
10.8. @Inject @ContextPath
10.9. @Inject List<Cookie>
10.10. @Inject @CookieParam
10.11. @Inject @ServerInfo
10.12. @Inject @Principal
11. Exception handling: Seam Catch integration
11.1. Background
11.2. Defining a exception handler for a web request
12. Retrieving the BeanManager from the servlet context
V. Seam Security
13. Security - Introduction
13.1. Overview
13.1.1. Authentication
13.1.2. Identity Management
13.1.3. External Authentication
13.1.4. Authorization
13.2. Configuration
13.2.1. Maven Dependencies
13.2.2. Third Party Dependencies
14. Security - Authentication
14.1. Basic Concepts
14.2. Built-in Authenticators
14.3. Which Authenticator will Seam use?
14.4. Writing a custom Authenticator
15. Security - Identity Management
15.1. TO DO
16. Security - External Authentication
16.1. TO DO
17. Security - Authorization
17.1. Basic Concepts
17.1.1. IdentityType
17.1.2. User
17.1.3. Group
17.1.4. Role
17.1.5. RoleType
17.2. Role and Group-based authorization
17.3. Typesafe authorization
17.3.1. Creating a typesafe security binding
17.3.2. Creating an authorizer method
17.3.3. Applying the binding to your business methods
17.3.4. Built-in security binding annotations
VI. Seam Faces
Introduction
18. Installation
18.1. Maven dependency configuration
18.2. Pre-Servlet 3.0 configuration
19. Faces Events Propagation
19.1. JSF Phase events
19.1.1. Seam Faces Phase events
19.1.2. Phase events listing
19.2. JSF system events
19.2.1. Seam Faces System events
19.2.2. System events listing
19.2.3. Component system events
20. Faces Scoping Support
20.1. @RenderScoped
20.2. @Inject javax.faces.contet.Flash flash
20.3. @ViewScoped
21. Messages API
21.1. Adding Messages
21.2. Displaying pending messages
22. Faces Artifact Injection
22.1. @*Scoped and @Inject in Validators and Converters
22.2. @Inject'able Faces Artifacts
23. Seam Faces Components
23.1. Introduction
23.2. <s:validateForm>
23.3. <s:viewAction>
23.3.1. Motivation
23.3.2. Usage
23.3.3. View actions vs the PreRenderViewEvent
23.4. UI Input Container
VII. Seam International
Introduction
24. Installation
25. Locales
25.1. Default Locale
25.2. User Locale
25.3. Available Locales
26. Timezones
26.1. Default TimeZone
26.2. User TimeZone
26.3. Available TimeZones
27. Messages
VIII. Seam Catch
28. Seam Catch - Introduction
29. Seam Catch - Installation
29.1. Maven dependency configuration
30. Seam Catch - Usage
30.1. Exception handlers
30.2. Exception handler annotations
30.2.1. @HandlesExceptions
30.2.2. @Handles
30.3. Exception stack trace processing
30.4. Exception handler ordering
30.4.1. Traversal of exception type hierarchy
30.4.2. Handler precedence
30.5. APIs for exception information and flow control
30.5.1. CaughtException
30.5.2. ExceptionStack
31. Seam Catch - Framework Integration
31.1. Creating and Firing an ExceptionToCatch event
31.2. Default Handlers and Qualifiers
31.2.1. Default Handlers
31.2.2. Qualifiers
31.3. Supporting ServiceHandlers
Seam Catch - Glossary
IX. Seam Remoting
32. Seam Remoting - Basic Features
32.1. Configuration
32.1.1. Dynamic type loading
32.2. The "Seam" object
32.2.1. A Hello World example
32.2.2. Seam.createBean
32.3. The Context
32.3.1. Setting and reading the Conversation ID
32.3.2. Remote calls within the current conversation scope
32.4. Working with Data types
32.4.1. Primitives / Basic Types
32.4.2. JavaBeans
32.4.3. Dates and Times
32.4.4. Enums
32.4.5. Collections
32.5. Debugging
32.6. Handling Exceptions
32.7. The Loading Message
32.7.1. Changing the message
32.7.2. Hiding the loading message
32.7.3. A Custom Loading Indicator
32.8. Controlling what data is returned
32.8.1. Constraining normal fields
32.8.2. Constraining Maps and Collections
32.8.3. Constraining objects of a specific type
32.8.4. Combining Constraints
33. Seam Remoting - Model API
33.1. Introduction
33.2. Model Operations
33.3. Fetching a model
33.3.1. Fetching a bean value
33.4. Modifying model values
33.5. Expanding a model
33.6. Applying Changes
34. Seam Remoting - Bean Validation
34.1. Validating a single object
34.2. Validating a single property
34.3. Validating multiple objects and/or properties
34.4. Validation groups
34.5. Handling validation failures
X. Seam Rest
Introduction
35. Installation
35.1. Basics
35.2. Transitive dependencies
35.3. Registering JAX-RS components explicitly
36. Exception Handling
36.1. Seam Catch Integration
36.2. Declarative Exception Mapping
36.2.1. Annotation-based configuration
36.2.2. XML configuration
36.2.3. Declarative exception mapping processing
37. Bean Validation Integration
37.1. Validating HTTP requests
37.1.1. Validating entity body
37.1.2. Validating resource fields
37.1.3. Validating other method parameters
37.2. Validation configuration
37.3. Using validation groups
38. Templating support
38.1. Creating JAX-RS responses using templates
38.1.1. Accessing the model
38.2. Built-in support for templating engines
38.2.1. FreeMarker
38.2.2. Apache Velocity
38.2.3. Pluggable support for templating engines
38.2.4. Selecting prefered templating engine
39. RESTEasy Client Framework Integration
39.1. Using RESTEasy Client Framework with Seam REST
39.2. Manual ClientRequest API
39.3. ClientExecutor Configuration
40. Seam REST Dependencies
40.1. Transitive Dependencies
40.2. Optional dependencies
40.2.1. Seam Catch
40.2.2. Seam Config
40.2.3. FreeMarker
40.2.4. Apache Velocity
40.2.5. RESTEasy
XI. Seam Validation
41. Introduction
42. Installation
42.1. Prerequisites
42.2. Maven setup
42.3. Manual setup
43. Dependency Injection
43.1. Retrieving of validator factory and validators via dependency injection
43.2. Dependency injection for constraint validators
44. Method Validation
XII. Seam Wicket
Introduction
45. Installation
46. Seam for Apache Wicket Features
46.1. Injection
46.2. Conversation Control
46.3. Conversation Propagation
XIII. Seam Solder
47. Getting Started
47.1. Maven dependency configuration
47.2. Transitive dependencies
47.3. Pre-Servlet 3.0 configuration
48. Enhancements to the CDI Programming Model
48.1. Preventing a class from being processed
48.1.1. @Veto
48.1.2. @Requires
48.2. @Exact
48.3. @Client
48.4. Named packages
48.5. @FullyQualified bean names
49. Annotation Literals
50. Evaluating Unified EL
51. Resource Loading
51.1. Extending the resource loader
52. Logging, redesigned
52.1. Features
52.2. Typed loggers
52.3. Native logger API
52.4. Typed message bundles
52.5. Implementation classes
52.5.1. Enabling generated proxies
52.5.2. Generating concrete implementation classes
53. Annotation and AnnotatedType Utilities
53.1. Annotated Type Builder
53.2. Annotation Instance Provider
53.3. Annotation Inspector
53.4. Synthetic Qualifiers
53.5. Reflection Utilities
54. Obtaining a reference to the BeanManager
55. Bean Utilities
56. Properties
56.1. Working with properties
56.2. Querying for properties
56.3. Property Criteria
56.3.1. AnnotatedPropertyCriteria
56.3.2. NamedPropertyCriteria
56.3.3. TypedPropertyCriteria
56.3.4. Creating a custom property criteria
56.4. Fetching the results
57. Unwrapping Producer Methods
58. Default Beans
59. Generic Beans
59.1. Using generic beans
59.2. Defining Generic Beans
60. Service Handler