JBoss.org
Community Documentation
Next
Errai
Errai Reference Guide
Legal Notice
Abstract
This is the Errai Reference Guide.
Preface
1. Document Conventions
2. Feedback
1. Introduction
1.1. What is it?
1.2. Required software
2. Messaging
2.1. Messaging Overview
2.2. Messaging API Basics
2.2.1. Sending Messages with the Client Bus
2.2.2. Receiving Messages on the Server Bus / Server Services
2.2.3. Sending Messages with the Server Bus
2.2.4. Receiving Messages on the Client Bus/ Client Services
2.2.5. Local Services
2.3. Single-Response Conversations & Pseudo-Synchronous Messaging
2.4. Sender Inferred Subjects
2.5. Broadcasting
2.6. Client-to-Client Communication
2.6.1. Relay Services
2.7. Message Routing Information
2.8. Handling Errors
2.8.1. Handling global message transport errors
2.9. Asynchronous Message Tasks
2.10. Repeating Tasks
2.11. Queue Sessions
2.11.1. Lifecycle
2.11.2. Scopes
2.12. Client Logging and Error Handling
2.13. Wire Protocol (J.REP)
2.13.1. Payload Structure
2.13.2. Message Routing
2.13.3. Bus Management and Handshaking Protocols
2.14. Conversations
2.15. WebSockets
2.15.1. Configuring the sideband server
2.15.2. Deploying with JBoss AS 7
2.16. Bus Lifecycle
2.16.1. Turning Server Communication On and Off
2.16.2. Observing Bus Lifecycle State and Communication Status
2.17. Shadow Services
2.18. Debugging Messaging Problems
3. Dependency Injection
3.1. Container Wiring
3.2. Wiring server side components
3.3. Scopes
3.3.1. Dependent Scope
3.4. Built-in Extensions
3.4.1. Bus Services
3.4.2. Client Components
3.4.3. Lifecycle Tools
3.4.4. Timed Methods
3.5. Client-Side Bean Manager
3.5.1. Looking up beans
3.5.2. Availability of beans
3.6. Alternatives and Mocks
3.6.1. Alternatives
3.6.2. Test Mocks
3.7. Bean Lifecycle
3.7.1. Destruction of Beans
4. Errai CDI
4.1. Features and Limitations
4.1.1. Other features
4.2. Events
4.2.1. Conversational events
4.2.2. Client-Server Event Example
4.3. Producers
4.4. safe dynamic lookup
4.5. Deploying Errai CDI
4.5.1. Deployment in Development Mode
4.5.2. Deployment to a Servlet Engine
4.5.3. Deployment to an Application Server
5. Marshalling
5.1. Mapping Your Domain
5.1.1. @Portable and @NonPortable
5.1.2. Manual Mapping
5.1.3. Manual Class Mapping
5.1.4. Custom Marshallers
6. Remote Procedure Calls (RPC)
6.1. Making calls
6.1.1. Proxy Injection
6.2. Handling exceptions
6.2.1. Global RPC exception handler
6.3. Client-side Interceptors
6.4. Session and request objects in RPC endpoints
6.5. Batching remote calls
7. Errai JAX-RS
7.1. Getting Started
7.1.1. Dependencies
7.1.2. GWT Module
7.1.3. Server-Side JAX-RS Implementation
7.1.4. Shared JAX-RS Interface
7.2. Creating Requests
7.2.1. Proxy Injection
7.3. Handling Responses
7.4. Client-side Interceptors
7.5. Wire Format
7.6. Configuration
7.6.1. Configuring the default root path of JAX-RS endpoints
7.6.2. Enabling Jackson marshalling
8. Errai JPA
8.1. Getting Started
8.1.1. Compile-time dependency
8.1.2. GWT Module Descriptor
8.1.3. INF/persistence.xml
8.1.4. Declaring an Entity Class
8.1.5. Entity Lifecycle States
8.1.6. Obtaining an instance of EntityManager
8.1.7. Named Queries
8.1.8. Entity Lifecycle Events
8.1.9. JPA Metamodel
8.1.10. JPA Features Not Implemented in Errai 2.4
8.1.11. Other Caveats for Errai 2.1 JPA
8.2. Errai JPA Data Sync
8.2.1. How To Use It
9. Data Binding
9.1. Getting Started
9.1.1. Compile-time dependency
9.1.2. GWT module descriptor
9.1.3. Bindable Objects
9.1.4. Initializing a DataBinder
9.2. Creating Bindings
9.3. Specifying Converters
9.3.1. Registering a global default converter
9.3.2. Providing a binding-specific converter
9.4. Property Change Handlers
9.5. Declarative Binding
9.5.1. Default, Simple, and Chained Property Bindings
9.5.2. Data Converters
9.5.3. Replacing a model object
9.6. Bean validation
9.6.1. Excluding Classes from Validation
10. Errai UI
10.1. Get started
10.1.1. App.gwt.xml
10.1.2. pom.xml
10.1.3. Working Demo
10.2. Use Errai UI Composite components
10.2.1. Inject a single instance
10.2.2. Inject multiple instances (for iteration)
10.3. Create a @Templated Composite component
10.3.1. Basic component
10.3.2. Custom template names
10.4. Create an HTML template
10.4.1. Select a template from a larger HTML file
10.5. Use other Widgets in a composite component
10.5.1. Annotate Widgets in the template with @DataField
10.5.2. Add corresponding attributes to the HTML template
10.6. How HTML templates are merged with Components
10.6.1. Example
10.6.2. Element attributes (template wins)
10.6.3. DOM Elements (component field wins)
10.6.4. Inner text and inner HTML (preserved when component implements HasText or HasHTML)
10.7. Event handlers
10.7.1. Concepts
10.7.2. GWT events on Widgets
10.7.3. GWT events on DOM Elements
10.7.4. Native DOM events on Elements
10.8. Data Binding
10.8.1. Default, Simple, and Chained Property Bindings
10.8.2. Binding of Lists
10.8.3. Data Converters
10.9. Nest Composite components
10.10. Extend Composite components
10.10.1. Template
10.10.2. Parent component
10.10.3. Child component
10.11. Stylesheet binding
10.12. Internationalization (i18n)
10.13. Extended styling with LESS
11. Errai UI Navigation
11.1. Getting Started
11.1.1. Compile-time dependency
11.1.2. GWT Module Descriptor
11.2. How it Works
11.2.1. Declaring a Page
11.2.2. Declaring a Link with TransitionAnchor
11.2.3. Declaring a Manual Link
11.2.4. Following a Manual Link
11.2.5. Installing the Navigation Panel into the User Interface
11.2.6. Overriding the default Nagivating Panel type
11.2.7. Viewing the Generated Navigation Graph
12. Errai Cordova (Mobile Support)
12.1. Get started
12.1.1. App.gwt.xml
12.2. Integrate with native hardware
12.3. Maven build
12.4. AeroGear Wrappers
12.4.1. Pipes
12.4.2. Stores
12.4.3. Authentication
13. Logging
13.1. What is slf4j?
13.2. Client-Side Setup
13.3. Server-Side Setup
13.4. Example Usage
13.5. Logger Names
14. Configuration
14.1. ErraiApp.properties
14.1.1. As a Marker File
14.1.2. As a Configuration File
14.1.3.
14.2. Messaging (Errai Bus) Configuration
14.2.1. Disabling remote communication
14.2.2. Configuring an alternative remote remote bus endpoint
14.2.3. ErraiService.properties
14.2.4. Servlet Configuration
15. Troubleshooting & FAQ
15.1. Why does it seem that Errai can't see my class at compile time?
15.2. Why am I getting "java.lang.ClassFormatError: Illegal method name "<init>$" in class org/xyz/package/MyClass"?
15.3. I'm getting "java.lang.RuntimeException: There are no proxy providers registered yet." in my @PostConstruct method!
16. Upgrade Guide
16.1. Upgrading from 1.* to 2.0
16.2. Upgrading from 2.0.Beta to 2.0.*.Final
16.3. Upgrading from Errai 2.2.x to 2.4 or 3.0
17. Downloads
18. Sources
19. Reporting problems
20. Errai License
A. Revision History
Next
Preface