# The Java EE 7 Tutorial

A B C D E F G H I J K L M N O P Q R S T U V W X

## Symbols

  `@AccessTimeout` annotation, 34.2.1.2
  `@Alternative` annotation, 25.2
  `@ApplicationScoped` annotation, 6.3.1.1, 16.1.1, 23.8
  `@AroundInvoke` annotation, 54.1
  `@AroundTimeout` annotation, 54.1
  `@Asynchronous` annotation, 36.1.1
  `@ConcurrencyManagement` annotation, 34.2.1.2
  `@Consumes` annotation, 29.2.1, 29.2.5.2
  `@Context` annotation, 31.1
  `@ConversationScoped` annotation, 23.8
  `@CookieParam` annotation, 31.1
  `@DeclareRoles` annotation, 49.2.1.1, 49.2.1.1, 49.3.1.1
  `@Decorator` annotation, 25.7
  `@Delegate` annotation, 25.7
  `@DELETE` annotation, 29.2.1, 29.2.4.1
  `@DenyAll` annotation, 49.2.1.1
  `@Dependent` annotation, 16.1.1, 23.8
  `@DependsOn` annotation, 34.2.1.1
  `@DiscriminatorColumn` annotation, 37.2.4.1
  `@DiscriminatorValue` annotation, 37.2.4.1
  `@Disposes` annotation, 25.3.3
  `@Embeddable` annotation, 37.1.6
  `@EmbeddedId` annotation, 37.1.3
  `@Entity` annotation, 37.1.1
  `@FlowScoped` annotation, 16.1.1
  `@FormParam` annotation, 31.1, 31.1.3
  `@GET` annotation, 29.2.1, 29.2.4.1
  `@GroupSequence` annotation, 22.3.1
  `@HEAD` annotation, 29.2.1
  `@HeaderParam` annotation, 31.1
  `@HttpConstraint` annotation, 48.2.1, 48.4.2.1
  `@HttpMethodConstraint` annotation, 48.2.1, 48.4.2.1
  `@Id` annotation, 37.1.3
  `@IdClass` annotation, 37.1.3
  `@Inject` annotation, 23.7, 25.4
  `@Interceptor` annotation, 54.1.1
  `@Interceptors` annotation, 54.1.1
  `@Local` annotation, 32.4.2, 34.1.1
  `@Lock` annotation, 34.2.1.2
  `@ManagedBean` annotation, 8.3.1.1, 16.1
  `@ManyToMany` annotation, 37.1.4, 37.1.5.1
  `@ManyToOne` annotation, 37.1.4
  `@MatrixParam` annotation, 31.1
  `@MessageDriven` annotation, 46.7.1.3
  `@MultipartConfig` annotation, 17.11.1
  `@Named` annotation, 23.9
  `@NamedQuery` annotation, 39.2
  `@Observes` annotation, 25.5.2
  `@OnClose` annotation, 18.4
  `@OnError` annotation, 18.4
  `@OneToMany` annotation, 37.1.4, 37.1.5.1, 37.1.5.4
  `@OneToOne` annotation, 37.1.4, 37.1.5.1, 37.1.5.4
  `@OnMessage` annotation, 18.4
  `@OnOpen` annotation, 18.4
  `@Path` annotation, 29.2.1, 29.2.3
  `@PathParam` annotation, 29.2.1, 29.2.6, 31.1, 31.1.1
  `@PermitAll` annotation, 49.2.1.1
  `@PersistenceContext` annotation, 37.3.1.1
  `@PersistenceUnit` annotation, 37.3.1.2
  `@POST` annotation, 29.2.1, 29.2.4.1
  `@PostActivate` annotation, 34.1.2, 34.1.2.1
  `@PostConstruct` annotation, 32.7, 34.1.2, 34.1.2.1, 54.1
  `@PreDestroy` annotation, 32.7, 34.1.2, 34.1.2.1, 54.1
  `@PrePassivate` annotation, 34.1.2, 34.1.2.1
  `@Produces` annotation, 23.12, 25.3, 29.2.1, 29.2.5.1
  `@Provider` annotation, 29.2.1
  `@PUT` annotation, 29.2.1, 29.2.4.1
  `@Qualifier` annotation, 23.6
  `@QueryParam` annotation, 29.2.1, 29.2.6, 31.1, 31.1.2
  `@Remote` annotation, 32.4.2, 34.1.1
  `@Remove` annotation, 32.7.1, 32.7.1, 34.1.2, 34.1.3
  `@RequestScoped` annotation, 6.3.1.1, 16.1.1, 23.8
  `@Resource` annotation, 3.1, 4.1, 6.5.4.1, 25.4
    JMS resources, 45.3.1.1, 45.3.1.2, 46.6.2
  `@ResourceDependency` annotation, 10.2.17, 13.10.2
  `@RolesAllowed` annotation, 49.2.1.1, 49.3.1.1
  `@RunAs` annotation, 49.2.3
  `@Schedule` and `@Schedules` annotations, 34.4.3
  `@ServletSecurity` annotation, 48.2.1, 48.4.2.1
  `@SessionScoped` annotation, 6.3.1.1, 16.1.1, 23.8
  `@Singleton` annotation, 34.2.1
  `@Startup` annotation, 34.2.1.1
  `@Stateful` annotation, 34.1.2
  `@Timeout` annotation, 34.4.2
  `@Timeout` method, 34.4.2.1, 34.4.4
  `@Transient` annotation, 37.1.2.2
  `@WebFilter` annotation, 17.6.1
  `@WebInitParam` annotation, 17.4, 17.6.1
  `@WebListener` annotation, 17.2.1.1
  `@WebMethod` annotation, 34.1.2.2
  `@WebService` annotation, 28.1
  `@WebServiceRef` annotation, 6.5.4.2
  `@WebServlet` annotation, 6.4.1, 17.4

## A

  abstract schemas, 39.1, 39.1
  access control, 47.1.3
  `acknowledge` method, 45.4.1
  acknowledging messages. See message acknowledgment
  action events, 7.4.4, 7.5, 10.2.5.2, 15.6
    `ActionEvent` class, 15.6, 15.6.2
    `actionListener` attribute, 10.2.5, 11.4, 11.4.2, 15.2.3
    `ActionListener` implementation, 15.6, 15.6.2
    `ActionListener` interface, 11.2.2
    `actionListener` tag, 10.3, 11.2.2, 15.1.1
    `processAction(ActionEvent)` method, 15.6.2
    referencing methods that handle action events, 11.4.2, 12.3.2
    writing a managed bean method to handle action events, 12.3.2
  action method, 7.5
  administered objects, 45.3.1
    creating and removing, 46.2.2
    definition, 45.2.1
    See also connection factories, destinations
  Administration Console, 1.9
    starting, 2.3
  `afterBegin` method, 51.3.3
  `afterCompletion` method, 51.3.3
  Ajax
    error handling, 13.6
    `event` attribute of `f:ajax` tag, 13.4.1
    example, 13.11
    `execute` attribute of `f:ajax` tag, 13.4.2
    grouping components, 13.9
    `immediate` attribute of `f:ajax` tag, 13.4.3
    `listener` attribute of `f:ajax` tag, 13.4.4
    loading JavaScript resource library, 13.10
    monitoring events, 13.5
    `onerror` attribute of `f:ajax` tag, 13.6
    `onevent` attribute of `f:ajax` tag, 13.5
    overview, 13.1
    receiving responses, 13.7
    `render` attribute of `f:ajax` tag, 13.7
    request lifecycle, 13.8
    sending requests, 13.4
    using JavaScript API directly, 13.10.1
    using with Facelets, 13.3
    using with JavaServer Faces technology, 13
  alternatives
    CDI, 25.2
    example, 26.1
  annotations, 1
    interceptor metadata, 54.1
    JAX-RS, 29.2, 31.1
    security, 47.3.1, 48.4.2.1, 49.2, 49.2.1.1
  `appclient` tool, 1.9
  applet container, 1.4.2
  applets, 1.3.3.3, 1.3.4
  application client container, 1.4.2
  application clients, 1.3.3.2
    examples, 46.6.2
    securing, 50.5
  application clients, JMS
    building, 46.2.3
    examples, 46.2
    running, 46.2.6.2
  applications
    dynamic reloading, 6.3.4.1
    JavaServer Faces, 7.1
    packaging, 5.1
    security, 47.2.2.1
    undeploying, 6.3.5
  `asadmin` tool, 1.9
  asynchronous message consumption, 45.2.3
    JMS client example, 46.2.6
    See also message-driven beans
  asynchronous method invocation
    calling asynchronous business methods, 36.1.2
    cancelling, 36.1.2.2
    checking status, 36.1.2.3
    creating asynchronous business methods, 36.1.1
    example, 36.2
    `java.util.concurrent.Future<V>` interface, 36.1
    retrieving results, 36.1.2.1
    session beans, 36
  asynchronous send mechanism, 45.4.5
  attributes referencing managed bean methods, 11.4
    `action` attribute, 11.4, 11.4.1
    `actionListener` attribute, 11.4, 11.4.2
    `validator` attribute, 11.4, 11.4.3
    `valueChangeListener` attribute, 11.4, 11.4.4
  audit modules, pluggable, 47.4
  auditing, 47.1.3
  `auth-constraint` element, 48.2.1.2
  `authenticate` method, 48.3.1
  authenticating users, 48.2.2, 48.2.3
  authentication, 47.1.3, 47.6
    basic, 48.2.2.1
    basic with EJB, 49.2.1.2
    certificate-based mutual, 50.2.2
    client, 50.2.1, 50.2.2.1
    digest, 48.2.2.3
    form-based, 48.2.2.2, 48.4.3
    mutual, 50.2.2, 50.2.2.1
    server, 50.2.1
    user name/password-based mutual, 50.2.2
  authorization, 47.1.3
  authorization constraints, 48.2.1, 48.2.1.2
  authorization providers, pluggable, 47.4
  auto commit, 1.7.7
  `AUTO_ACKNOWLEDGE` mode, 45.4.1

## B

  basic authentication, 48.2.2.1
    EJB, 49.2.1.2
    example, 48.4.2
  Batch Applications for the Java Platform, 1.7.21, 55
  batch jobs
    checking status, 55.6.2
    defining, 55.3
    definition, 55
    elements, 55.2.3
    instances and executions, 55.2.5
    properties and parameters, 55.2.4
    starting, 55.6.1
    status, 55.2.6
    steps, 55.1.1
    submitting to batch runtime, 55.6
  batch processing
    context objects, 55.5.3
    creating applications, 55.2.2
    creating batch artifacts, 55.5
    definition, 55
    dependency injection, 55.5.2
    examples, 55.8, 55.9
    implementing chunk steps, 55.3.1
    implementing task steps, 55.3.2
    introduction, 55.1
    Java EE framework, 55.2.1
    Java EE platform, 55.2
    Job Specification Language, 55.3, 55.4
    packaging applications, 55.7
    status and decision elements, 55.1.3
  Bean Validation, 1.7.12, 21
    advanced, 22
    constraint violations, 21.3.2
    constraints, 38.3.1
    constructors, 21.3
    custom constraints, 22.1, 58.1
    empty strings, 21.2
    examples, 38.3
    exceptions, 21.3.2
    inheritance, 22.4
    Java Persistence API, 37.1.2.4
    JavaServer Faces applications, 21.1, 38.3.3
    localization, 22.2.1.1
    messages, 22.2
    methods, 21.3, 21.3.3, 22.4
    null strings, 21.2
    ordering, 22.3.1
    parameters, 21.3, 21.3.1, 21.3.2
    resource bundles, 22.2.1
    using `f:validateBean` tag, 11.3
  bean-managed transactions. See transactions, bean-managed
  beans, in CDI, 23.3
  `beans.xml` file, 23.13
  `beforeCompletion` method, 51.3.3
  BLOBs. See persistence, BLOBs
  bookmarkable URLs
    component tags, 10.2.14
    example, 10.2.16
    view parameters, 10.2.15
  `BufferedReader` class, 17.5.1
  bundles. See resource bundles
  business logic, 32.1.1
  business methods, 32.4.4
    client calls, 34.1.2.2
    exceptions, 34.1.2.2
    locating, 33.1.2
    requirements, 34.1.2.2
    transactions, 51.3.1.7, 51.3.3, 51.4.2, 51.6
  `BytesMessage` interface, 45.3.7.3

## C

  `CallbackHandler` interface, 50.5
  `capture-schema` tool, 1.9
  CDI. See Contexts and Dependency Injection for Java EE (CDI)
  certificate authorities, 50.1
  certificates, 47.2.1
    client, 50.2.2.2
    digital, 47.2.2.2, 50.1, 50.1
    server, 50.1.1, 50.1.3
    using for authentication, 50.1.2
  character encodings, 20.4.2
  character sets, 20.4.1
  client certificates, generating, 50.2.2.2
  client ID, for durable subscriptions, 45.3.6.4
  `CLIENT_ACKNOWLEDGE` mode, 45.4.1
  clients
    authenticating, 50.2.1, 50.2.2.1
    securing, 50.5
  CLOBs. See persistence, CLOBs
  collections, persistence, 37.1.2.3, 40.3.7.2
  `commit` method, 51.3.4
  `commit` method (JMS), 45.4.4
  commits. See transactions, commits
  Common Client Interface, Connector architecture, 52.3
  component binding, 12.1.2, 12.2, 15.12, 15.12.3
    `binding` attribute, 12.1.2, 15.12, 15.12.3
  component properties. See managed bean properties
  component rendering model, 7.4, 7.4.2
    `decode` method, 7.6.3, 15.4.3, 15.7, 15.10.1
    decoding, 15.1.2, 15.4
    delegated implementation, 15.1.2
    direct implementation, 15.1.2
    `encode` method, 15.10.1
    `encodeBegin` method, 15.4.2
    `encodeChildren` method, 15.4.2
    `encodeEnd` method, 15.4.2, 15.5.1
    encoding, 15.1.2, 15.4
    HTML render kit, 15.8, 16.10
    render kit, 7.4.2
    `Renderer` class, 7.4.2
    `Renderer` implementation, 16.10
    `RenderKit` class, 7.4.2
    `RenderKit` implementation, 16.10
  component tag attributes
    `action` attribute, 10.2.5, 12.3.1, 15.2.3
    `actionListener` attribute, 10.2.5, 11.4, 12.3.2, 15.2.3
    `alt` attribute, 15.2.3
    `binding` attribute, 10.2.1, 10.2.1.5, 12.1.2, 15.12, 15.12.3
    `columns` attribute, 10.2.7
    `converter` attribute, 10.2.4, 11.1.1, 15.10.2
    `for` attribute, 10.2.4.3, 10.2.13
    `id` attribute, 10.2.1, 10.2.1.1
    `immediate` attribute, 10.2.1, 10.2.1.2, 15.2.3
    `redisplay` attribute, 10.2.4.2
    `rendered` attribute, 10.2.1, 10.2.1.3, 15.12.3
    `style` attribute, 10.2.1, 10.2.1.4, 10.2.13
    `styleClass` attribute, 10.2.1, 10.2.1.4
    `validator` attribute, 10.2.4, 12.3.3
    `value` attribute, 10.2.1, 10.2.1.5, 12.2, 15.2.4, 15.12, 15.12.1
    `valueChangeListener` attribute, 10.2.4, 11.4.4, 12.3.4
    `var` attribute, 20.2.3
  component tags, 7.4.2, 7.4.4, 12.2
    attributes. See component tag attributes
    `body` tag, 10.2.2
    bookmarkable URLs, 10.2.14
    `button` tag, 10.2.14
    `column` tag, 10.2
    `commandButton` tag, 10.2, 10.2.5.1
    `commandLink` tag, 10.2, 10.2.5.2
    `dataTable` tag, 10.2, 10.2.12, 12.2.1.2
    `form` tag, 10.2, 10.2.3
    `graphicImage` tag, 10.2, 10.2.6, 15.2.3
    `head` tag, 10.2.2
    `inputHidden` tag, 10.2, 10.2.4
    `inputSecret` tag, 10.2, 10.2.4, 10.2.4.2
    `inputText` tag, 10.2, 10.2.4, 10.2.4.1
    `inputTextarea` tag, 10.2, 10.2.4
    `link` tag, 10.2.14
    `message` tag, 10.2, 10.2.13
    `messages` tag, 10.2, 10.2.13
    `outputFormat` tag, 10.2, 10.2.4, 10.2.4.5
    `outputLabel` tag, 10.2, 10.2.4, 10.2.4.3
    `outputLink` tag, 10.2, 10.2.4, 10.2.4.4
    `outputScript` tag, 10.2.17
    `outputStylesheet` tag, 10.2.17
    `outputText` tag, 10.2, 10.2.4, 10.2.4.1, 10.2.5.2, 12.2.1.2
    `panelGrid` tag, 10.2, 10.2.7
    `panelGroup` tag, 10.2, 10.2.7
    resource relocation, 10.2.17
    `selectBooleanCheckbox` tag, 10.2, 10.2.8.1, 12.2.1.3
    `selectItems` tag, 12.2.1.7
    `selectManyCheckbox` tag, 10.2, 10.2.9, 12.2.1.4
    `selectManyListbox` tag, 10.2, 10.2.9
    `selectManyMenu` tag, 10.2, 10.2.9
    `selectOneListbox` tag, 10.2, 10.2.8.2
    `selectOneMenu` tag, 10.2, 10.2.8.2, 12.2.1.5, 12.2.1.6
    `selectOneRadio` tag, 10.2, 10.2.8.2
  component-managed sign-on, 50.6, 50.6.2
  components
    boxes, 10.2, 10.2
    buttons, 10.2, 10.2.5.1
    check boxes, 10.2, 10.2, 10.2.8.1
    data grids, 10.2
    fields, 10.2
    hidden fields, 10.2
    hyperlinks, 10.2.5.2
    images, 10.2.6
    Java EE, 1.3.2
    labels, 10.2, 10.2
    links, 10.2
    menus, 10.2, 10.2, 10.2.8.2, 10.2.9
    options, 10.2
    password fields, 10.2
    radio buttons, 10.2
    table columns, 10.2
    tables, 10.2, 10.2.7, 10.2.12
    text areas, 10.2
  composite components
    advanced features, 14
    attributes, 14.1
    `default` attribute, 14.1
    example, 14.4
    `f:validateBean` tag, 14.3
    `f:validateRegex` tag, 14.3
    `f:validateRequired` tag, 14.3
    Facelets, 8.5
    invoking managed beans, 14.2
    `method-signature` attribute, 14.1
    `name` attribute, 14.1
    `required` attribute, 14.1
    `type` attribute, 14.1
    validating values, 14.3
  concurrency
    definition, 56.1
    examples, 56.5, 56.6
    security and, 56.4
    threads and processes, 56.1.1
    transactions and, 56.3
  Concurrency Utilities for Java EE, 1.7.20, 56
  concurrent access, 51
  concurrent access to entity data, 42.1
  conditional HTTP requests in JAX-RS, 31.5
  confidentiality, 47.6
  configuring JavaServer Faces applications
    `Application` class, 16.2
    application configuration resource files, 16.2
    configuring managed beans, 16.1, 16.4
    error message registration, 15.11
    `faces-config.xml` files, 16.9
    including the classes, pages, and other resources, 16.12.3
    `javax.faces.application.CONFIG_FILES` context parameter, 16.2
    registering custom converters, 16.8
    registering custom renderers, 16.10
    registering custom UI components, 16.11
    registering custom validators, 16.7
    registering messages, 16.5
    specifying a path to an application configuration resource file, 16.12.1.2
    specifying where UI component state is saved, 15.4.5, 16.12.1.3
    value binding, 15.12.1
  configuring JavaServer Faces applications. See configuring navigation rules
  configuring managed beans, 15.2.4, 16.4
  configuring navigation rules, 7.5, 16.9
    `from-action` element, 16.9
    `from-view-id` element, 16.9
    `navigation-case` element, 16.9, 16.9
    `navigation-rule` element, 16.9, 16.9
    `to-view-id` element, 16.9
  connection factories, 45.3.1.1
    creating, 46.6.4.1, 46.9.1
    injecting resources, 45.3.1.1, 46.6.2
  `Connection` interface, 51.3.4, 51.7
  `Connection` interface (JMS), 45.3.2
  connection pooling, 3.2
  `ConnectionFactory` interface (JMS), 45.3.1.1
  connections, JMS
    introduction, 45.3.2
    managing in enterprise bean applications, 45.5.3.1
  connections, securing, 47.6
  connectors. See Java EE Connector architecture
  constructors, 54.2.2
    static, 21.3
  container-managed sign-on, 50.6, 50.6.1
  container-managed transactions. See transactions, container-managed
  containers, 1.4
    application client, 1.4.2
    configurable services, 1.4.1
    nonconfigurable services, 1.4.1
    security, 47.1, 47.3
    services, 1.4.1
    trust between, 49.2.3.2
    See also EJB container, embedded enterprise bean container, web container
  context parameters, 6.3.1
    specifying, 6.5.1.1
  Contexts and Dependency Injection for Java EE (CDI), 1.7.10
    advanced topics, 25
    alternatives, 25.2
    basic concepts, 23
    beans, 23.3
    configuring applications, 23.13
    converting managed beans to JAX-RS root resource classes, 31.4
    decorators, 25.7
    disposer methods, 25.3.3
    EL, 23.9
    events, 25.5, 58.1, 58.2.3
    examples, 24, 26
    Facelets pages, 23.11
    injectable objects, 23.5
    injecting beans, 23.7
    integrating with JAX-RS, 31.4
    interceptors, 25.6
    managed beans, 23.4
    observer methods, 25.5.2, 58.2.3
    overview, 23.2
    producer fields, 25.3
    producer methods, 23.12, 25.3
    qualifiers, 23.6
    scopes, 23.8
    setter and getter methods, 23.10
    specialization, 25.2.1
    stereotypes, 25.8
  contexts, JMS, 45.3.4
  `ContextService` interface, 56.2
  conversational state, 32.2.1.1
  conversion model, 7.4, 7.4.3
    `converter` attribute, 10.2.4, 11.1.1, 15.10.2
    `Converter` implementations, 7.4.3, 11.1, 15.10.2
    `Converter` interface, 15.10.1
    `converterId` attribute, 11.1.1
    converting data between model and presentation, 7.4.3
    `javax.faces.convert` package, 11.1
    model view, 15.10.1, 15.10.1
    presentation view, 15.10.1, 15.10.1
    See also converters, converter tags
  `Converter` implementation classes
    `BigDecimalConverter` class, 11.1
    `BigIntegerConverter` class, 11.1
    `BooleanConverter` class, 11.1
    `ByteConverter` class, 11.1
    `CharacterConverter` class, 11.1
    `DateTimeConverter` class, 11.1, 11.1, 11.1.2
    `DoubleConverter` class, 11.1
    `EnumConverter` class, 11.1
    `FloatConverter` class, 11.1
    `IntegerConverter` class, 11.1
    `LongConverter` class, 11.1
    `NumberConverter` class, 11.1, 11.1.1, 11.1.3
    `ShortConverter` class, 11.1
  converter tags
    `convertDateTime` tag, 11.1.2
    `convertDateTime` tag attributes, 11.1.2
    `converter` tag, 11.1.1, 15.10.2
    `convertNumber` tag, 11.1.1, 11.1.3
    `convertNumber` tag attributes, 11.1.3
  converters, 7.4, 7.6.2
    custom converters, 7.4.3, 15.10.2
    See also standard converters
  converting data. See conversion model
  cookie parameters, JAX-RS, 29.2.6
  `createBrowser` method, 46.2.7.1
  `createTimer` method, 34.4.2.2
  credential, 47.5.1.5
  Criteria API, 40
    creating queries, 40.3.1
    examples, 38.2.3
    expressions, 40.3.5.1, 40.3.5.2
    path navigation, 40.3.4
    query execution, 40.3.7
    query results, 40.3.5, 40.3.6
  criteria queries, string-based, 41
  cryptography, public-key, 50.1
  custom converters
    binding to managed bean properties, 15.13
    creating, 15.10
    `getAsObject` method, 15.10.1
    `getAsObject(FacesContext, UIComponent, String)` method, 15.10.1
    `getAsString` method, 15.10.1
    `getAsString(FacesContext, UIComponent, Object)` method, 15.10.1
    registering. See registering custom converters
    using, 15.10.2
  custom objects
    custom converters, 15.10.2
    using, 15.9
    using custom components, renderers and tags together, 15.1.3
    See also custom tags, custom UI components, custom validators
  custom renderers
    creating the `Renderer` class, 15.5.1
    determining necessity of, 15.1.2
    performing decoding, 15.4.3
    performing encoding, 15.4.2
    registering with a render kit, 16.10
  custom tags, 7.4.5, 15.1.3
    `getRendererType` method, 15.5.2
    identifying the renderer type, 15.5
    specifying, 15.11.2
    tag library descriptor, 15.3
  custom UI components
    creating, 15
    creating component classes, 15.4
    custom objects, 15.9
    delegating rendering, 15.5
    determining necessity of, 15.1.1
    handling events emitted by, 15.7
    `queueEvent` method, 15.4.3
    registering. See registering custom UI components
    `restoreState(FacesContext, Object)` method, 15.4.5
    `saveState(FacesContext)` method, 15.4.5
    saving state, 15.4.5
    specifying where state is saved, 16.12.1.3
    steps for creating, 15.3
  custom validators, 15.11
    binding to managed bean properties, 15.13
    custom validator tags, 15.11.2
    implementing the `Validator` interface, 15.11.1
    registering, 16.7
    using, 15.11.3
    `validate` method, 12.3.3, 15.11.1
    `Validator` implementation, 12.3, 15.11.1, 15.11.2
    `Validator` interface, 15.11
    `validator` tag, 15.11, 15.11.2

## D

  data encryption, 50.2.1
  data integrity, 47.1.3, 51, 51.2
  data sources, 3.2
  databases
    clients, 32.1.1
    connections, 34.1.2.2, 51.4.2
    creating tables, 37.5.1
    data recovery, 51
    dropping tables, 37.5.1
    EIS tier, 1.3
    loading data, 37.5.2
    message-driven beans and, 32.3.1
    multiple, 51.4.1, 51.6
    See also transactions
  `DataSource` interface, 3.2
  DDL scripts, 37.5.1
    loading data, 37.5.2
  debugging Java EE applications, 2.9
  declarative security, 47.1, 48.1, 49.2
    example, 49.3.1
  decorators
    CDI, 25.7
    example, 26.5
  delivery delay for messages, 45.4.2.4
  delivery modes, 45.4.2.1
    `JMSDeliveryMode` message header field, 45.3.7.1
  `DeliveryMode` interface, 45.4.2.1
  Dependency Injection for Java (JSR 330), 1.7.11, 23
  deployment, 33.1.3
  deployment descriptors, 5.1, 47.1, 47.3.2
    enterprise bean, 5.2.2, 47.3.2, 49.2, 49.2
    Java EE, 5.1
    runtime, 5.1, 5.3
    `security-role-mapping` element, 47.5.4
    `security-role-ref` element, 48.3.4
    web application, 5.3, 6.1, 16.12, 47.3.2
  `Destination` interface, 45.3.1.2
  destinations, 45.3.1.2
    creating, 46.6.4.1, 46.9.1
    injecting resources, 45.3.1.2, 46.6.2
    `JMSDestination` message header field, 45.3.7.1
    temporary, 45.4.3, 46.8.2.1
    See also queues, temporary JMS destinations, topics
  `destroy` method, 17.10
  digest authentication, 48.2.2.3
  digital signatures, 50.1
  disposer methods, CDI, 25.3.3
  document roots, 5.3
  `doFilter` method, 17.6.1, 17.6.1, 17.6.3
  `doGet` method, 17.5
  domains, 2.2.3
  `doPost` method, 17.5
  downloading GlassFish Server, 2.1.2
  `DUPS_OK_ACKNOWLEDGE` mode, 45.4.1
  durable subscriptions, 45.3.6.4
    examples, 46.3.1, 46.4.2, 46.7
    shared, 45.3.6.4

## E

  `eager` attribute, managed beans, 16.2.1
  EAR files, 5.1
  EIS tier, 1.3.6
    security, 50.6
  EJB container, 1.4.2
    container-managed transactions, 51.3
    message-driven beans, 45.5.4
    `onMessage` method, invoking, 46.6.3.1
    services, 32, 32.1.1, 49.2
    See also embedded enterprise bean container
  EJB JAR files, 32.5
  `EJBContext` interface, 51.3.2, 51.3.4, 51.4.3
  `ejb-jar.xml` file, 5.2.2, 47.3.2, 49.2
  EL, 6.3.1, 9
    CDI managed beans, 23.9
    composite expressions, 9.3.1.5
    deferred evaluation expressions, 9.2
    expression examples, 9.7
    immediate evaluation expressions, 9.2
    literals, 9.3.1.3
    lvalue expressions, 9.3.1
    managed beans, 12.1.2
    method expressions, 9.3.2
    method-binding expressions, 7.5
    operators, 9.5
    overview, 9.1
    parameterized method calls, 9.3.1.4
    reserved words, 9.6
    rvalue expressions, 9.3.1
    type conversion during expression evaluation, 9.3.1.5
    value expressions, 9.3.1
    See also method binding
  embeddable classes, persistence, 37.1.6
  embedded enterprise bean container
    creating, 35.2.2
    developing applications, 35.2
    examples, 35.3
    initializing enterprise bean modules, 35.2.2.1
    overview, 35.1
    running applications, 35.2.1
    session bean references, 35.2.3
    shutting down, 35.2.4
    See also EJB container, enterprise beans
  end-to-end security, 47.2.2.3
  enterprise applications, 1
    securing, 49
  enterprise beans, 1.3.5, 1.7.1
    accessing, 32.4
    classes, 32.5
    compiling, 33.1.3
    contents, 32.5
    converting to JAX-RS root resource classes, 31.4
    defined, 32.1
    dependency injection, 32.4.1
    deployment, 32.5
    distribution, 32.4.2
    exceptions, 34.5
    finding, 35.2.3
    `getCallerPrincipal` method, 49.2.2.1
    implementor of business logic, 1.3.5
    integrating with JAX-RS, 31.4
    interceptors, 54
    interfaces, 32.4, 32.5
    `isCallerInRole` method, 49.2.2.1
    JAX-RS resources, 29.3.2
    JNDI lookup, 32.4.1
    lifecycles, 32.7
    local access, 32.4.3
    local interfaces, 32.4.3
    packaging, 5.2.1, 33.1.3
    performance, 32.4.2
    programmatic security, 49.2.2.1
    remote access, 32.4.4
    remote interfaces, 32.4.4
    securing, 49.2
    singletons, 29.3.2.1
    testing, 35.3
    timer service, 34.4
    types, 32.1.3
    web services, 32.1.3, 32.4.5, 34.3
    See also business methods, embedded enterprise bean container, message-driven beans, session beans
  Enterprise Information Systems. See EIS tier
  entities
    abstract, 37.2.1
    abstract schema names, 39.3.1
    application-managed entity managers, 37.3.1.2
    cascading operations, 37.1.5.4, 37.1.5.5
    collections, 39.5.3.4
    container-managed entity managers, 37.3.1.1
    controlling caching, 44.1.1
    creating, 38.1.7.1
    discriminator columns, 37.2.4.1
    entity manager, 37.3.1
    finding, 37.3.1.3, 38.1.7.2
    inheritance, 37.2, 38.2.2
    inheritance mapping, 37.2.4
    lifecycle, 37.3.1.4
    managing, 37.3, 38.1.7
    mapping to multiple tables, 38.1.3
    non-entity superclasses, 37.2.3
    overview, 37.1
    persistent fields, 37.1.2
    persistent properties, 37.1.2
    persisting, 37.3.1.5
    primary keys, 37.1.3
    querying, 37.4
    relationships, 38.1.7.3
    removing, 37.3.1.6, 38.1.7.5
    requirements, 37.1.1
    superclasses, 37.2.2
    synchronizing, 37.3.1.7
    validating, 37.1.2.4
  entity data
    lock modes, 42.2
    optimistic locking, 42.1, 42.1.1
    pessimistic locking, 42.1, 42.2.2
  entity graphs, 43
    named, 43.2
  entity providers, JAX-RS, 29.2.4.2
  entity relationships
    bidirectional, 37.1.5.1
    many-to-many, 37.1.4, 38.2.1.1
    many-to-one, 37.1.4
    multiplicity, 37.1.4
    one-to-many, 37.1.4
    one-to-one, 37.1.4
    query language, 37.1.5.3
    unidirectional, 37.1.5.2
  `EntityManager` interface, 37.3.1
  `equals` method, 37.1.3
  event and listener model, 7.4, 7.4.4
    binding listeners to managed bean properties, 15.13
    `Event` class, 7.4.4
    event handlers, 7.6.2, 7.6.2, 15.3
    event listeners, 7.6.3, 7.6.4, 7.6.5
    handling events of custom UI components, 15.7
    implementing event listeners, 15.6
    `Listener` class, 7.4.4
    listener class, 12.3
    `queueEvent` method, 15.4.3
    `ValueChangeEvent` class, 11.4.4
    See also action events, value-change events
  events
    CDI, 25.5
    example, 26.4
  examples, 2
    Ajax, 13.11
    asynchronous method invocation, session beans, 36.2
    basic authentication, 48.4.2
    batch processing, 55.8, 55.9
    Bean Validation, 38.3
    bookmarkable URLs, 10.2.16
    building, 2.5
    CDI, 24, 26
    composite components, 14.4
    concurrency, 56.5, 56.6
    connectors, 53
    Criteria API, 38.2.3
    directory structure, 2.6
    Duke's Bookstore case study, 57
    Duke,'s Forest case study, 59
    Duke,'s Tutoring case study, 58
    embedded enterprise bean container, 35.3
    file upload using servlets, 17.16
    HTML5-friendly markup, 8.9.3
    interceptors, 54.3
    Java API for WebSocket, 18.11, 18.12
    JAX-RS, 29.3, 31.8
    JAX-WS, 28.1
    JMS asynchronous message consumption, 46.2.6
    JMS durable subscriptions, 46.3.1
    JMS in a web application, 46.5
    JMS local transactions, 46.3.2
    JMS message acknowledgment, 46.2.9
    JMS queue browsing, 46.2.7
    JMS shared durable subscriptions, 46.4.2
    JMS synchronous message consumption, 46.2.5
    JMS with entities, 46.8
    JMS with session beans, 46.7
    message-driven beans, 46.6, 46.7, 46.8
    persistence, 38
    primary keys, 37.1.3
    query language, 38.1.7.4, 39.4
    required software, 2.1
    resource adapters, 53
    resource library contracts, 8.8.1
    security, 48.4.3, 49.3.1, 49.3.2
    sending JMS messages, 46.2.4
    servlets, 6.4, 17.15, 33.1.2
    session beans, 33.1.1, 34.1
    singleton session beans, 34.2
    timer service, 34.4.7
    web clients, 33.1.2
    web services, 34.3
  exceptions
    business methods, 34.1.2.2
    enterprise beans, 34.5
    JMS, 45.3.9
    mapping to error screens, 6.5.3
    rolling back transactions, 34.5, 51.3.2
    transactions, 51.3.1.3, 51.3.1.6
  expiration of JMS messages, 45.4.2.3
    `JMSExpiration` message header field, 45.3.7.1
  Expression Language. See EL

## F

  Facelets, 8
    composite components, 8.5
    configuring applications, 8.3.2
    `f:ajax` tag, 13.3.1
    features, 8.1
    resources, 8.6
    templating, 8.4
    using Ajax with, 13.3
    XHTML pages, 8.3.1.2
    See also EL
  Facelets applications
    developing, 8.3
    lifecycle, 8.2
    using JavaScript in, 13.10.1
  Faces Flows, using, 16.3
  `faces-config.xml` file, 16.2
  `FacesContext` class, 7.6.1, 15.9
    Apply Request Values phase, 7.6.3
    custom converters, 15.10.1
    performing encoding, 15.4.2
    Process Validations phase, 7.6.4
    Update Model Values phase, 7.6.5
    validation methods, 12.3.3
    `Validator` interface, 15.11.1
  `FacesServlet` class, 16.12.1.1
  fetch graphs
    See persistence
      fetch graphs
  fetch plans, 43
  filter chains, 17.6.1, 17.6.3
  `Filter` interface, 17.6.1
  filters, 17.6
    defining, 17.6.1
    mapping to web components, 17.6.3
    mapping to web resources, 17.6.3
    overriding request methods, 17.6.2
    overriding response methods, 17.6.2
    response wrappers, 17.6.2
  foreign keys, 38.1.1.3
  form parameters, JAX-RS, 29.2.6, 31.1.3
  form-based authentication, 48.2.2.2
  `forward` method, 17.7.2

## G

  garbage collection, 32.7.4
  `GenericServlet` interface, 17.1
  `getBody` method, 45.3.7.3
  `getCallerPrincipal` method, 49.2.2.1, 49.3.2
  `getConnection` method, 3.2
  `getPart` method, 17.11.2
  `getParts` method, 17.11.2
  `getRemoteUser` method, 48.3.2
  `getRequestDispatcher` method, 17.7
  `getRollbackOnly` method, 45.5.5, 51.4.3
  `getServletContext` method, 17.8
  `getSession` method, 17.9.1
  `getStatus` method, 51.4.3
  `getUserPrincipal` method, 48.3.2
  GlassFish Server
    adding users to, 47.5.2.1
    downloading, 2.1.2
    enabling debugging, 2.9.2.1
    installation tips, 2.1.2
    securing, 47.4
    server log, 2.9.1
    SSL connectors, 47.6.1
    starting, 2.2.3
    stopping, 2.2.4
    tools, 1.9
  groups, 47.5.1.3
    managing, 47.5.2

## H

  handling events. See event and listener model
  `hashCode` method, 37.1.3
  header parameters, JAX-RS, 29.2.6
  helper classes, 32.5
    session bean example, 34.1.4
  HTML5-friendly markup, 8.9
    example, 8.9.3
    pass-through attributes, 8.9.2
    pass-through elements, 8.9.1
  HTTP, 28, 28
    basic authentication, 48.2.2.1
    over SSL, 50.2.1
  HTTP cookies, 30.3.1.2
  HTTP methods, 29.2.4
  HTTP request and response entity bodies, 29.2.4.2
    supported types, 29.2.4.2
  HTTP request URLs, 17.5.1
    query strings, 17.5.1
    request paths, 17.5.1
  HTTP requests, 17.5.1, 29.2.4
    See also requests
  HTTP responses, 17.5.2
    status codes, 6.5.3
    See also responses
  HTTPS, 47.2.2.2, 47.6.1, 48.2.1.3, 50.1
  `HttpServlet` interface, 17.1
  `HttpServletRequest` interface, 17.5.1, 48.3.2
  `HttpServletResponse` interface, 17.5.2
  `HttpSession` interface, 17.9.1

## I

  identification, 47.1.3
  implicit navigation, 7.2, 7.5
  implicit objects, 15.12.2
    binding component values to, 15.12.2
  `include` method, 17.7.1
  `init` method, 17.4
  `InitialContext` interface, 1.8.2
  initialization parameters, 17.4
  initializing properties with the `managed-property` element
    initializing `Array` and `List` properties, 16.4.2.4
    initializing managed-bean properties, 16.4.2.5
    initializing `Map` properties, 16.4.2.3
    initializing maps and lists, 16.4.3
    referencing a context initialization parameter, 16.4.2.2
  `initParams` attribute, 17.4
  injectable objects, CDI, 23.5
  integrity, 47.6
    of data, 47.1.3
  Interceptors
    around-construct, 54.2.2
    invoking, 54.2.5
    lifecycle callback events, 54.2.2
    methods, 54.2.1
    ordering, 54.2.5
  interceptors, 54
    CDI, 25.6
    example, 54.3, 54.3
    example (CDI), 26.4
  internationalization, 20
  internationalizing JavaServer Faces applications
    `FacesContext.getLocale` method, 11.1.2
    `loadBundle` tag, 20.2.3
    using the `FacesMessage` class to create a message, 16.5.1
  `invalidate` method, 17.9.3
  `isCallerInRole` method, 49.2.2.1, 49.3.2
  ISO 8859 character encoding, 20.4.2
  `isUserInRole` method, 48.3.2

## J

  JAAS, 1.8.8, 47.2.1, 50.5.1
    login modules, 50.5.1
  JACC, 1.7.16, 47.4
  JAF, 1.8.3
  JAR files, 5.1
  JAR signatures, 47.2.1
  JASPIC, 1.7.17
  Java API for JavaBean Validation
    See Bean Validation
  Java API for JavaBean Validation. See Bean Validation
  Java API for JSON Processing, 1.7.19
  Java API for RESTful Web Services. See JAX-RS
  Java API for WebSocket, 1.7.18, 18
    annotated endpoints, 18.4
    configuring endpoints, 18.10
    creating applications, 18.2
    endpoints, 18.1, 58.1, 58.2.3
    error handling, 18.9
    examples, 18.11, 18.12
    introduction, 18.1
    maintaining client state, 18.6
    path parameters, 18.8
    programmatic endpoints, 18.3
    receiving messages, 18.5.2
    sending messages, 18.5.1
    using decoders, 18.7.2
    using encoders, 18.7.1
  Java API for XML Binding (JAXB), 1.8.5
    using with JAX-RS, 31.7
  Java API for XML Processing (JAXP), 1.8.4
  Java API for XML Web Services. See JAX-WS
  Java Authentication and Authorization Service. See JAAS
  Java Authentication Service Provider Interface for Containers (JASPIC), 1.7.17
  Java Authorization Contract for Containers. See JACC
  Java BluePrints, 2.6
  Java Cryptography Extension (JCE), 47.2.1
  Java Database Connectivity API. See JDBC API
  Java DB, 1.9
    starting, 2.4
    stopping, 2.4
  Java EE applications, 1.3
    debugging, 2.9
    deploying, 33.1.3
    iterative development, 33.2
    tiers, 1.3
  Java EE clients, 1.3.3
    See also application clients, web clients
  Java EE components, 1.3.2
  Java EE Connector architecture, 1.7.14, 52.1
    example, 53
  Java EE modules, 5.1, 5.1
    application client modules, 5.1
    EJB modules, 5.1, 32.5
    resource adapter modules, 5.1
    See also web modules
  Java EE platform, 1.3
    APIs, 1.7
    JMS and, 45.1.4
    overview, 1
  Java EE security model, 1.4.1
  Java EE servers, 1.4.2
  Java EE transaction model, 1.4.1
  Java Generic Security Services, 47.2.1
  Java GSS-API, 47.2.1
  Java Message Service (JMS) API, 1.7.13, 45
    See also JMS, message-driven beans
  Java Naming and Directory Interface API. See JNDI
  Java Persistence API, 1.7.6, 37
    See also persistence
  Java Persistence API query language. See query language
  Java Persistence Criteria API. See Criteria API
  Java Secure Sockets Extension (JSSE), 47.2.1
  Java Servlet technology, 1.7.2, 17
    See also servlets
  Java Transaction API, 1.7.7, 51.4.1
  JavaBeans Activation Framework (JAF), 1.8.3
  JavaBeans components, 1.3.3.4
  JavaMail API, 1.7.15
    example, 53
  JavaServer Faces application development
    bean property, 12.2.1.1
    Bean Validation, 21.1
    managed beans, 12.1
    web pages, 10
  JavaServer Faces applications
    configuring. See configuring JavaServer Faces applications
    HTML tags, 10.2
    queueing messages, 12.3.3
  JavaServer Faces core tag library, 10.1, 10.3
    `actionListener` tag, 10.3, 11.2.2, 15.1.1
    `ajax` tag, 13.3.1
    `attribute` tag, 10.3
    `convertDateTime` tag, 10.3, 11.1.2
    `convertDateTime` tag attributes, 11.1.2
    `converter` tag, 10.3, 11.1.1, 15.10.2
    `converterId` attribute, 11.1.1
    `convertNumber` tag, 10.3, 11.1.1, 11.1.3
    `convertNumber` tag attributes, 11.1.3
    `facet` tag, 10.2.12, 10.3
    `loadBundle` tag, 10.3
    `metadata` tag, 10.2.15, 10.3
    `param` tag, 10.2.4.5, 10.3
    `selectItem` tag, 10.2.8.2, 10.2.9, 10.2.10, 10.2.10.2, 10.3
    `selectItems` tag, 10.2.8.2, 10.2.9, 10.2.10, 10.2.10.1, 10.3
    `type` attribute, 11.2.1
    `validateBean` tag, 11.3
    `validateDoubleRange` tag, 10.3, 11.3
    `validateLength` tag, 10.3, 11.3
    `validateLongRange` tag, 10.3, 11.3, 11.3.2
    `validateRegEx` tag, 11.3
    `validateRegex` tag, 11.3.2
    `validateRequired` tag, 11.3
    `validator` tag, 7.4.5, 10.3, 15.11
      custom validator tags, 15.11.2
    `valueChangeListener` tag, 10.3, 11.2.1
    `viewparam` tag, 10.2.15
  JavaServer Faces standard HTML render kit library, 7.4.2, 16.10
    `html_basic` TLD, 15.8
    See also component tags
  JavaServer Faces standard UI components, 7.4.1, 15
    `UIComponent` component, 15.10.1
  JavaServer Faces tag libraries, 8.1
    JavaServer Faces core tag library, 10.1, 10.3
    JavaServer Faces HTML render kit tag library, 10.1
    namespace directives, 10.1
  JavaServer Faces Technology
    Faces Flows, 16.3
    resource library contracts, 8.8
  JavaServer Faces technology, 1.3.4, 1.7.3, 7
    advantages, 7.2
    bookmarkable URLs, 10.2.15
    component tags. See component tags
    composite components, 14
    `FacesContext` class. See `FacesContext` class
    `FacesServlet` class, 16.12.1.1
    features, 7.1
    HTML5-friendly markup, 8.9
    partial processing, 7.7
    partial rendering, 7.7
    relocatable resources, 8.7
    using Ajax with, 13, 58.1
    `Validator` interface, 12.3.3
    See also component tags
  JavaServer Pages Standard Tag Library (JSTL), 1.7.5
  JavaServer Pages technology, 1.7.4
  `javax.servlet` package, 17.1
  `javax.servlet.http` package, 17.1
  JAXB, 1.8.5
    using with JAX-RS, 31.7
  JAXP, 1.8.4
  JAX-RS, 1.7.8, 29
    accessing XML documents, 31.7
    advanced features, 31
    annotations, 31.1
    application overview, 29.2.2
    asynchronous invocations, 30.3.2
    clients, 30
    conditional HTTP requests, 31.5
    configuring, 29.2.7
    converting CDI managed beans to root resource classes, 31.4
    converting enterprise beans to root resource classes, 31.4
    cookies, 30.3.1.2
    entity providers, 29.2.4.2
    examples, 29.3, 31.8
    extracting Java type of request or response, 31.1.4
    filters, 30.3.1.3
    form parameters, 31.1.3
    HTTP headers, 30.3.1.1
    integrating with CDI, 31.4
    integrating with EJB technology, 31.4
    introduction, 27.2.2
    invocations, 30.1.1.4
    JSON, 31.7.3
    path parameters, 30.1.1.3, 31.1.1
    path templates, 29.2.3
    query parameters, 31.1.2
    reference implementation, 29
    request headers, 31.1
    request method designators, 29.2, 29.2.4.1
    resource class methods, 31.3
    resource classes, 29.2
    resource methods, 29.2
    runtime content negotiation, 31.6
    runtime resource resolution, 31.3
    static content negotiation, 31.6
    subresource locators, 31.3, 31.3.2
    subresource methods, 31.3, 31.3.1
    subresources, 31.3
    URI, 31.1
    using with JAXB, 31.7
  JAX-RS Client API, 29.3.2.1, 30
  JAX-RS clients, 29.3.2.1
  JAX-WS, 1.8.6
    defined, 28
    endpoints, 28.1.1
    examples, 28.1
    introduction, 27.2.1
    service endpoint interfaces, 28.1
    specification, 28.4
  JCE, 47.2.1
  JDBC API, 1.8.1, 3.2
    resources, 58.1
  JMS, 1.7.13
    achieving reliability and performance, 45.4
    administered objects, 45.3.1
    application client examples, 46.2
    architecture, 45.2.1
    basic concepts, 45.2
    definition, 45.1.2
    examples, 46, 46.5, 46.6
    introduction, 45.1
    Java EE platform, 45.1.4, 45.5
    messaging domains, 45.2.2
    programming model, 45.3
  `JMSConsumer` interface, 45.3.6
  `JMSContext` interface, 45.3.4
  `JMSCorrelationID` message header field, 45.3.7.1
  `JMSDeliveryMode` message header field, 45.3.7.1
  `JMSDeliveryTime` message header field, 45.3.7.1
  `JMSDestination` message header field, 45.3.7.1
  `JMSException` class, 45.3.9
  `JMSExpiration` message header field, 45.3.7.1
  `JMSMessageID` message header field, 45.3.7.1
  `JMSPriority` message header field, 45.3.7.1
  `JMSProducer` interface, 45.3.5
  `JMSRedelivered` message header field, 45.3.7.1
  `JMSReplyTo` message header field, 45.3.7.1
  `JMSTimestamp` message header field, 45.3.7.1
  `JMSType` message header field, 45.3.7.1
  JNDI, 1.8.2, 3.1
    data source naming subcontexts, 1.8.2
    enterprise bean lookup, 32.4.1
    enterprise bean naming subcontexts, 1.8.2
    environment naming contexts, 1.8.2
    `jms` naming subcontext, 45.3.1.2
    namespace for JMS administered objects, 45.3.1
    naming contexts, 1.8.2
    naming environments, 1.8.2
    naming subcontexts, 1.8.2
  Job Specification Language, 55.4
    `batchlet` element, 55.4.2.2
    `chunk` element, 55.4.2.1
    `decision` element, 55.4.5
    `flow` element, 55.4.3
    `job` element, 55.4.1
    `partition` element, 55.4.2.3
    `split` element, 55.4.4
    `step` element, 55.4.2
  `jsf.js` file, 13.10
  JSON
    JAX-RS, 31.7.3
  JSR 339. See JAX-RS
  JSR 346. See Contexts and Dependency Injection for Java EE (CDI)
  JSSE, 47.2.1
  JSTL, 1.7.5
  JTA, 1.7.7, 51.4.1
  JTS API, 51.4.1
  JUnit, 35.3

## K

  Kerberos, 47.2.1, 47.2.1
  key pairs, 50.1
  keystores, 47.2.1, 50.1, 50.1.1
    managing, 50.1
  `keytool` utility, 50.1

## L

  lifecycle of a JavaServer Faces application, 7.3, 7.6
    action and value-change event processing, 7.4.4
    Apply Request Values phase, 7.6.3, 15.4.3
    custom converters, 15.10.1, 15.10.1
    `getRendererType` method (Render Response phase), 15.5.2
    `immediate` attribute, 15.2.3
    Invoke Application phase, 7.6.6
    performing encoding (Render Response phase), 15.4.2
    Process Validations phase, 7.6.4
    Render Response phase, 7.6.7
    `renderResponse` method, 7.6.1, 7.6.3, 7.6.4, 7.6.5
    `responseComplete` method, 7.6.1, 7.6.4, 7.6.5
    Restore View phase, 7.6.2
    saving state, 15.4.5
    Update Model Values phase, 7.6.5
    `updateModels` method, 7.6.5
    `Validator` interface, 15.11.1
    views, 7.6.2
  listener classes, 17.2.1
    defining, 17.2.1.1
  listener interfaces, 17.2.1.1
  listeners
    HTTP, 47.4
    IIOP, 47.4
  load graphs
    See persistence
      load graphs
  local interfaces, 32.4.3
  local transactions, 45.4.4
  localization, 20
    Bean Validation, 22.2.1.1
  log, server, 2.9.1
  login configuration, 48.2.2, 48.2.3
  `login` method, 48.3.1
  login modules, 50.5.1
  `logout` method, 48.3.1

## M

  managed bean creation facility, 16.4
  managed bean declarations, 15.2.4
    `key-class` element, 16.4.2.3
    `list-entries` element, 16.4.2
    `managed-bean` element, 16.4.1, 16.4.2.5
    `managed-bean-name` element, 16.4.1
    `managed-property` element, 16.4.2
    `map-entries` element, 16.4.2, 16.4.2.3
    `map-entry` element, 16.4.2.3
    `null-value` elements, 16.4.2
    `value` element, 16.4.2
  managed bean methods
    attributes. See attributes referencing managed bean methods
    referencing. See referencing managed bean methods
    writing. See writing managed bean methods
  managed bean properties, 11.1.1, 12.1.1, 12.1.2, 15.12
    bound to component instances, 12.2.2
    `UIData` properties, 12.2.1.2
    `UIInput` and `UIOutput` properties, 12.2.1.1
    `UISelectBoolean` properties, 12.2.1.3
    `UISelectItem` properties, 12.2.1.6
    `UISelectItems` properties, 12.2.1.7
    `UISelectMany` properties, 12.2.1.4
    `UISelectOne` properties, 12.2.1.5
    writing, 12.2
  managed beans, 7.1
    composite components, 14.2
    configuring in JavaServer Faces technology, 16.1
    conversion model, 7.4.3
    custom component alternative, 15.1.1
    defined for CDI, 23.4
    developing, 8.3.1.1
    event and listener model, 7.4.4
    JavaServer Faces technology, 12.1
    loading JavaScript, 13.10.2
    method binding, 10.2.4
    properties. See managed bean properties
    See also value binding
  Managed Beans specification, 1.7.9, 23
  `ManagedExecutorService` interface, 56.2
  `ManagedScheduledExecutorService` interface, 56.2
  `ManagedThreadFactory` interface, 56.2
  `MapMessage` interface, 45.3.7.3
  mapping URLs, 29.2.7
  matrix parameters, JAX-RS, 29.2.6
  Maven tool, 2.1.5
  message acknowledgment, 45.4.1
    bean-managed transactions, 45.5.5
    example, 46.2.9
  message bodies, 45.3.7.3
  message consumers, 45.3.6
    shared, 45.3.6.5
  message consumption, 45.2.3
    asynchronous, 45.2.3, 46.2.6
    synchronous, 45.2.3, 46.2.5
  message headers, 45.3.7.1
  message IDs, JMS, 45.3.7.1
  `Message` interface, 45.3.7.3
  message listeners, 32.3, 45.3.6.1
    examples, 46.2.6.1, 46.8.2.1
  message producers, 45.3.5
  message properties, 45.3.7.2
  message security, 48.1
  message selectors, 45.3.6.2
  message subscriptions
    durable, 45.3.6.4
  `MessageBodyReader` interface, 29.2.4.2
  `MessageBodyWriter` interface, 29.2.4.2
  message-driven beans, 1.7.1, 32.3
    accessing, 32.3.1
    coding, 46.6.3, 46.7.1.3, 46.8.2.2
    defined, 32.3
    examples, 46.6, 46.7, 46.8
    garbage collection, 32.7.4
    introduction, 45.5.4
    `onMessage` method, 32.3.1, 46.6.3.1
    requirements, 46.6.3
    transactions, 32.3.1, 51.3, 51.4, 51.4
  `MessageListener` interface, 45.3.6.1
  messages
    integrity, 50.2.1
    `MessageFormat` pattern, 10.2.4.5, 10.3
    `outputFormat` tag, 10.2.4.5
    `param` tag, 10.2.4.5, 10.3
    parameter substitution tags, 10.3
    queueing messages, 12.3.3, 16.5
    securing, 47.2.2.3
    using the `FacesMessage` class to create a message, 16.5.1
  messages, JMS
    body formats, 45.3.7.3
    browsing, 45.3.8
    definition, 45.2.1
    delivery delay, 45.4.2.4
    delivery modes, 45.4.2.1
    expiration, 45.4.2.3
    headers, 45.3.7.1
    introduction, 45.3.7
    persistence, 45.4.2.1
    priority levels, 45.4.2.2
    properties, 45.3.7.2
  messaging domains, 45.2.2
    point-to-point, 45.2.2.1
    publish/subscribe, 45.2.2.2
  messaging, definition, 45.1.1
  metadata annotations
    resource adapters, 52.2
    security, 47.3.1
  Metamodel API, 40.1
    using, 38.2.3.1, 40.2
  method binding
    method expressions, 15.4.4
    method-binding expressions, 7.5, 16.9
  method expressions, 7.4.4, 11.4
  method permissions, 49.2.1
    annotations, 49.2.1.1
  methods, static, 21.3
  mutual authentication, 50.2.2, 50.2.2.1

## N

  naming contexts, 1.8.2
  naming environments, 1.8.2
  navigation
    configuring, 7.5, 16.9
    implicit, 7.5
  navigation model, 7.5
    `action` attribute, 10.2.5, 11.4, 11.4.1, 15.2.3
    action methods, 12.3.1, 16.9
    `ActionEvent` class, 11.4.2
    configuring navigation rules, 16.9
    logical outcome, 12.3.1, 16.9
    `NavigationHandler` class, 7.5
    referencing methods that perform navigation, 11.4.1, 12.3.1
    writing a managed bean method to perform navigation processing, 12.3.1
  NetBeans IDE, 2.1.4
  `NON_PERSISTENT` delivery mode, 45.4.2.1
  non-repudiation, 47.1.3

## O

  `ObjectMessage` interface, 45.3.7.3
  objects, administered, 45.3.1
    creating and removing, 46.2.2
  observer methods, CDI, 25.5.2
  `onMessage` method
    introduction, 45.3.6.1
    message-driven beans, 32.3.1, 45.5.4, 46.6.3.1

## P

  `package-appclient` tool, 1.9
  packaging applications, 5.1
  path parameters, JAX-RS, 29.2.6, 31.1.1
  path templates, JAX-RS, 29.2.3
  permissions, security policy, 47.4
  Persistence
    schema creation, 58.1
  persistence
    BLOBs, 38.1.5
    cascade operations, 38.1.4
    CLOBs, 38.1.5
    collections, 37.1.2.3
    concurrent access to entity data, 42
    configuration, 37.3.2
    context, 37.3
    creating database tables, 37.5.1
    criteria queries, 43.1, 43.3
    DDL scripts, 37.5.1
    dropping database tables, 37.5.1
    eager fetching, 43
    embeddable classes, 37.1.6
    entities, 37.1
    entity graph properties, 43.3
    examples, 38
    fetch graphs, 43.1.2, 43.1.2.1
    JMS example, 46.8
    JMS messages, 45.4.2.1
    JPQL, 43.1
    lazy fetching, 43
    load graphs, 43.1.2, 43.1.2.2
    loading data, 37.5.2
    locking strategies, 42
    many-to-many, 38.2.1.1
    maps, 37.1.2.3
    named entity graphs, 43.2
    one-to-many, 38.1.1.3
    one-to-one, 38.1.1.2
    overview, 37
    persistence units, 37.3.2
    persistent fields, 37.1.2.1
    primary keys, 37.1.3, 38.1.2.1, 38.1.2.2
    properties, 37.1.2.2
    queries, 37, 37.4, 38.1.7.4, 39.2, 43
      creating, 40.3.1
      Criteria, 40
      dynamic, 39.2
      executing, 40.3.7
      expressions, 40.3.5.1, 40.3.5.2
      joins, 40.3.3
      parameters, 39.2.1, 39.2.2
      path navigation, 40.3.4
      results, 40.3.5, 40.3.6
      static, 39.2
      typesafe, 40
      See also query language
    query hints, 43.3
    query language, 37.1.5.3
    relationships, 38.1.1
    schema creation, 37.5
    scope, 37.3.2
    second-level cache, 44
    self-referential relationships, 38.1.1.1
    string-based criteria queries, 41
    temporal types, 38.1.6
  persistence units, query language, 39, 39.5.3.2
  `PERSISTENT` delivery mode, 45.4.2.1
  pluggable audit modules, 47.4
  pluggable authorization providers, 47.4
  point-to-point messaging domain, 45.2.2.1
  point-to-point messaging style
    See also queues
  POJOs, 1.1
  policy files, 47.2.1
  primary keys, 38.1.1.3
    compound, 38.1.2.2
    defined, 37.1.3
    examples, 37.1.3
    generated, 38.1.2.1
  principal, 47.5.1.5
  `PrintWriter` class, 17.5.2
  priority levels, for messages, 45.4.2.2
    `JMSPriority` message header field, 45.3.7.1
  producer fields
    CDI, 25.3
    example, 26.3
  producer methods
    CDI, 23.12, 25.3
    example, 26.2
  programmatic security, 47.1, 47.3.3, 48.1, 49.2
    example, 49.3.2
  programming model, JMS, 45.3
  providers, JMS, 45.2.1
  proxies, 28
  public key certificates, 50.2.1
  public-key cryptography, 50.1
  publish/subscribe messaging domain
    durable subscriptions, 45.3.6.4
    introduction, 45.2.2.2
  publish/subscribe messaging style
    See also topics

## Q

  qualifiers, using in CDI, 23.6
  Quality of Service, 47.1.3
  queries
    criteria, 43.1
    JPQL, 43.1
    persistence, 43
  query language
    `ABS` function, 39.5.5.12
    abstract schemas, 39.1, 39.3.1, 39.5.3.3
    `ALL` expression, 39.5.5.11
    `ANY` expression, 39.5.5.11
    arithmetic functions, 39.5.5.12
    `ASC` keyword, 39.5.7
    `AVG` function, 39.5.6.1
    `BETWEEN` expression, 39.4.3.4, 39.5.5.5
    Boolean literals, 39.5.5.1
    Boolean logic, 39.5.5.14
    case expressions, 39.5.5.13
    collection member expressions, 39.5.3.4, 39.5.5.10
    collections, 39.5.3.4, 39.5.5.9, 39.5.5.10
    compared to SQL, 39.4.2, 39.5.3.1, 39.5.4
    comparison operators, 39.4.3.5, 39.5.5.5
    `CONCAT` function, 39.5.5.12
    conditional expressions, 39.4.3, 39.5.5, 39.5.5.3, 39.5.5.15
    constructors, 39.5.6.3
    `COUNT` function, 39.5.6.1
    `DELETE` expression, 39.4.4, 39.4.4.2
    `DELETE` statement, 39.3.2
    `DESC` keyword, 39.5.7
    `DISTINCT` keyword, 39.4.1.2
    domain of query, 39, 39.5.3, 39.5.3.2
    duplicate values, 39.4.1.2
    enum literals, 39.5.5.1
    equality, 39.5.5.15
    `ESCAPE` clause, 39.5.5.7
    examples, 38.1.7.4, 39.4
    `EXISTS` expression, 39.5.5.11
    `FETCH JOIN` operator, 39.5.3.5
    `FROM` clause, 39.3.1, 39.5.3
    grammar, 39.5
    `GROUP BY` clause, 39.3.1, 39.5.8
    `HAVING` clause, 39.3.1, 39.5.8
    identification variables, 39.3.1, 39.5.3, 39.5.3.2
    identifiers, 39.5.3.1
    `IN` operator, 39.5.3.5, 39.5.5.6
    `INNER JOIN` operator, 39.5.3.5
    input parameters, 39.4.2.3, 39.5.5.2
    `IS EMPTY` expression, 39.4.3.3
    `IS FALSE` operator, 39.5.5.15
    `IS NULL` expression, 39.4.3.2
    `IS TRUE` operator, 39.5.5.15
    `JOIN` statement, 39.4.2.1, 39.4.2.2, 39.5.3.5
    `LEFT JOIN` operator, 39.5.3.5
    `LEFT OUTER JOIN` operator, 39.5.3.5
    `LENGTH` function, 39.5.5.12
    `LIKE` expression, 39.4.3.1, 39.5.5.7
    literals, 39.5.5.1
    `LOCATE` function, 39.5.5.12
    `LOWER` function, 39.5.5.12
    `MAX` function, 39.5.6.1
    `MEMBER` expression, 39.5.5.10
    `MIN` function, 39.5.6.1
    `MOD` function, 39.5.5.12
    multiple declarations, 39.5.3.2
    multiple relationships, 39.4.2.4
    named parameters, 39.4.1.3, 39.5.5.2
    navigation, 39.4.2, 39.4.2.1, 39.4.2.5, 39.5.3.3, 39.5.4.3
    negation, 39.5.5.15
    `NOT` operator, 39.5.5.15
    null values, 39.5.5.8, 39.5.5.14
    numeric comparisons, 39.5.5.15
    numeric literals, 39.5.5.1
    operator precedence, 39.5.5.4
    operators, 39.5.5.4
    `ORDER BY` clause, 39.3.1, 39.5.7
    parameters, 39.4.1.2
    parentheses, 39.5.5.3
    path expressions, 39.1, 39.5.4
    positional parameters, 39.5.5.2
    range variables, 39.5.3.3
    relationship fields, 39.1
    relationships, 39.1, 39.4.2.1, 39.4.2.3
    return types, 39.5.6.1
    root, 39.5.3.3
    scope, 39
    `SELECT` clause, 39.3.1, 39.5.6
    `setNamedParameter` method, 39.4.1.3
    `SIZE` function, 39.5.5.12
    `SQRT` function, 39.5.5.12
    state fields, 39.1
    string comparison, 39.5.5.15
    string functions, 39.5.5.12
    string literals, 39.5.5.1
    subqueries, 39.5.5.11
    `SUBSTRING` function, 39.5.5.12
    `SUM` function, 39.5.6.1
    syntax, 39.3, 39.5
    `TRIM` function, 39.5.5.12
    types, 39.5.4.2, 39.5.5.15
    `UPDATE` expression, 39.3.2, 39.4.4, 39.4.4.1
    `UPPER` function, 39.5.5.12
    `WHERE` clause, 39.3.1, 39.5.5
    wildcards, 39.5.5.7
  query parameters, JAX-RS, 29.2.6, 31.1.2
  query roots, 40.3.2
  `Queue` interface, 45.3.1.2
  `QueueBrowser` interface, 45.3.8
    JMS client example, 46.2.7
  queues, 45.3.1.2
    browsing, 45.3.8, 46.2.7
    creating, 45.3.1.2, 46.9.1
    injecting resources, 46.6.2
    temporary, 45.4.3, 46.8.2.1

## R

  RAR files, packaging, 5.4
  realms, 47.5.1, 47.5.1.1
    `admin-realm`, 47.5.1.1
    `certificate`, 47.5.1.1, 50.1.2
    configuring, 47.4
    `file`, 47.5.1.1
  `receiveBody` method, 45.3.7.3
  `recover` method, 45.4.1
  redelivery of messages, 45.4.1, 45.4.1
    `JMSRedelivered` message header field, 45.3.7.1
  referencing managed bean methods, 11.4
    for handling action events, 11.4.2, 12.3.2
    for handling value-change events, 11.4.4
    for performing navigation, 11.4.1, 12.3.1
    for performing validation, 11.4.3, 12.3.3
  registering custom converters, 16.8
    `converter` element, 16.8
  registering custom renderers, 16.10
    `renderer` element, 16.10
    `render-kit` element, 16.10, 16.10
  registering custom UI components, 15.3, 16.11
    `component` element, 16.11
  registering custom validators, 16.7
    `validator` element, 16.7
  registering messages, 16.5
    `resource-bundle` element, 16.5
  relationship fields, query language, 39.1
  relationships
    direction, 37.1.5
    unidirectional, 38.1.1.4
  reliability, JMS
    basic mechanisms, 45.4.2
    durable subscriptions, 45.3.6.4
    local transactions, 45.4.4
    message acknowledgment, 45.4.1
    message delivery delay, 45.4.2.4
    message expiration, 45.4.2.3
    message persistence, 45.4.2.1
    message priority levels, 45.4.2.2
    temporary destinations, 45.4.3
  relocatable resources, 8.7
  remote interfaces, 32.4.4
  Remote Method Invocation (RMI), and messaging, 45.1.1
  request headers, JAX-RS, 31.1
  request method designators, JAX-RS, 29.2, 29.2.4.1
  `Request` objects, JAX-RS, 31.6
  request parameters, JAX-RS, 29.2.6
  `RequestDispatcher` interface, 17.7
  request/reply mechanism
    `JMSCorrelationID` message header field, 45.3.7.1
    `JMSReplyTo` message header field, 45.3.7.1
    temporary destinations and, 45.4.3
  requests, 17.5.1
    customizing, 17.6.2
    getting information from, 17.5.1
    retrieving a locale, 20.2.1
    See also HTTP requests
  `Required` transaction attribute, 45.5.5
  resource adapters, 1.7.14, 52.1
    example, 53
    metadata annotations, 52.2
    packaging, 5.4
    security, 50.6.3
  resource bundles, 20.1
    Bean Validation, 22.2.1
  resource classes, JAX-RS, 29.2
  resource library contracts, 8.8
    example, 8.8.1
  resource methods, JAX-RS, 29.2
  resources, 52
    JMS, 45.5.3.1
    relocatable, 8.7
    See also data sources
  `ResponseBuilder` class, 29.2.4.2
  responses, 17.5.2
    buffering output, 17.5.2
    customizing, 17.6.2
    setting headers, 17.5
    See also HTTP responses
  RESTful web services, 1.7.8, 29
    defined, 29.1
  roles, 47.5.1.4
    application, 47.5.4
    declaring, 48.2.4
    mapping to groups, 47.5.4
    mapping to users, 47.5.4
    referencing, 49.2.1.1
    security, 47.5.3, 48.2.4, 49.2.1, 49.2.1.1
  `rollback` method, 51.3.4, 51.4.1, 51.4.3
  `rollback` method (JMS), 45.4.4
  rollbacks. See transactions, rollbacks
  root resource classes, 29.2
  run-as identity, 49.2.3

## S

  SAAJ, 1.8.7
  SASL, 47.2.1
  `schemagen` tool, 1.9
  schemas
    creating, 37.5
    deployment descriptors, 47.3.2
  scopes
    CDI, 23.8
    introduction, 6.3.1.1
    JavaServer Faces technology, 16.1.1
    servlets, 17.3.1
  secure connections, 47.6
  Secure Sockets Layer (SSL), 47.6
  security
    annotations, 47.3.1, 48.4.2.1, 49.2
    application, 47.1.3, 47.2.2.1
    application clients, 50.5
    callback handlers, 50.5, 50.5.1
    component-managed sign-on, 50.6.2
    concurrency and, 56.4
    constraints, 48.2.1
    container trust, 49.2.3.2
    container-managed sign-on, 50.6.1
    containers, 47.1, 47.3
    context for enterprise beans, 49.2.2.1
    declarative, 47.1, 47.3.2, 48.1, 49.2
    deploying enterprise beans, 49.2.4
    EIS applications, 50.6
    end-to-end, 47.2.2.3
    enterprise applications, 49
    enterprise beans, 49.2
    examples, 48.4.3, 49.3.1, 49.3.2
    groups, 47.5.1.3
    introduction, 47
    JAAS login modules, 50.5.1
    Java SE, 47.2.1
    login forms, 50.5
    login modules, 50.5.1
    mechanism features, 47.1.2
    mechanisms, 47.2, 47.2.2
    message, 48.1
    message-layer, 47.2.2.3
    method permissions, 49.2.1, 49.2.1.1
    overview, 47.1
    policy domain, 47.5.1.5
    programmatic, 47.1, 47.3.3, 48.1, 48.3, 49.2
    programmatic login, 50.5.2
    propagating identity, 49.2.3
    realms, 47.5.1.1
    resource adapters, 50.6.3
    role names, 48.2.4, 49.2.1.1
    roles, 47.5.1.4, 47.5.3, 48.2.4, 49.2.1
    run-as identity, 49.2.3
    simple walkthrough, 47.1.1
    transport-layer, 47.2.2.2, 47.6
    users, 47.5.1.2
    web applications, 48
    web components, 48
  security constraints, 48.2.1
    multiple, 48.2.1.4
  security domain, 47.5.1.5
  security identity
    propagating, 49.2.3
    specific identity, 49.2.3
  security role references, 48.3.4
  security roles, 47.5.3, 49.2.1
  `security-role-mapping` element, 47.5.4
  `security-role-ref` element, 48.3.4
  `send` method, 45.3.5
  sending messages
    Java EE components, 45.5.3
    JMS client example, 46.2.4
  sending messages asynchronously, 45.4.5
  server authentication, 50.2.1
  server certificates, 50.1
  server log, 2.9.1
  service methods, servlets, 17.5
  `Servlet` interface, 17.1
  `ServletContext` interface, 17.8
  `ServletInputStream` class, 17.5.1
  `ServletOutputStream` class, 17.5.2
  `ServletRequest` interface, 17.5.1
  `ServletResponse` interface, 17.5.2
  servlets, 1.3.4, 17.1
    asynchronous processing, 17.12
    binary data, 17.5.1, 17.5.2
    character data, 17.5.1, 17.5.2
    compiling, 33.1.3
    creating, 17.4
    examples, 6.4, 17.15, 33.1.2
    finalizing, 17.10
    initializing, 17.4
    lifecycle, 17.2
    lifecycle events, 17.2.1
    nonblocking I/O, 17.13
    packaging, 33.1.3
    scope objects, 17.3.1
    service methods, 17.5, 17.10.2, 17.10.3
    specifying initialization parameters, 17.4
    tracking service requests, 17.10.1
    uploading files with, 17.11, 19
  session beans, 1.7.1, 32.2
    activation, 32.7.1
    bean-managed concurrency, 34.2.1.2, 34.2.1.2
    business interfaces, 32.4
    clients, 32.2
    concurrent access, 34.2.1.2
    container-managed concurrency, 34.2.1.2, 34.2.1.2
    databases, 51.3.3
    eager initialization, 34.2.1.1
    examples, 33.1.1, 34.1, 34.2, 34.3, 46.7
    handling errors, 34.2.1.3
    no-interface views, 32.4
    passivation, 32.7.1
    requirements, 34.1.2
    singleton, 32.2.1.3, 34.2
    stateful, 32.2.1.1, 32.2.2
    stateless, 32.2.1.2, 32.2.2
    transactions, 51.3, 51.3.3, 51.4
    web services, 32.4.5, 34.3.2
    See also asynchronous method invocation
  `Session` interface, 45.3.3
  sessions, 17.9
    associating attributes, 17.9.2
    associating with user, 17.9.4
    invalidating, 17.9.3
    notifying objects associated with, 17.9.2
  sessions, JMS, 45.3.3
    managing in enterprise bean applications, 45.5.3.1
  `SessionSynchronization` interface, 51.3.3
  `setRollbackOnly` method, 45.5.5, 51.3.2, 51.3.3, 51.4.3
  shared durable subscriptions, 45.3.6.4
  shared message consumers, 45.3.6.5
  sign-on
    component-managed, 50.6, 50.6.2
    container-managed, 50.6, 50.6.1
  Simple Authentication and Security Layer (SASL), 47.2.1
  `SingleThreadModel` interface, 17.3.2
  SOAP, 27.2, 28, 28, 28.4
  SOAP messages, 1.5.2, 1.8.7
    securing, 47.2.2.3
  SOAP with Attachments API for Java (SAAJ), 1.8.7
  specialization, CDI, 25.2.1
  SQL, 1.8.1, 39.4.2, 39.5.3.1, 39.5.4
    loading data, 37.5.2
  SQL92, 39.5.5.14
  SSL, 47.2.2.2, 47.6, 48.2.1.3, 50.2.1
    connectors, GlassFish Server, 47.6.1
    handshake, 47.6
    verifying support, 47.6.1
  standard converters, 7.4.3
    converter tags, 11.1.1
    `NumberConverter` class, 11.1
    using, 11.1
  standard validators, 7.4.5
    using, 11.3
  state fields, query language, 39.1
  stereotypes, CDI, 25.8
  `StreamMessage` interface, 45.3.7.3
  string-based criteria queries, 41
  subresources, JAX-RS, 31.3
  subscription names, for durable subscribers, 45.3.6.4
  substitution parameters, defining. See messages, `param` tag
  synchronous message consumption, 45.2.3
    Java EE components, 45.5.3
    JMS client example, 46.2.5

## T

  templating
    Facelets, 8.4
  temporary JMS destinations, 45.4.3
    examples, 46.8.2.1
  testing
    enterprise beans, 35.3
    unit, 35.3
  `TextMessage` interface, 45.3.7.3
  timer service, 34.4
    automatic timers, 34.4, 34.4.3
    calendar-based timer expressions, 34.4.1
    cancelling timers, 34.4.4
    creating timers, 34.4.2.2
    examples, 34.4.7
    exceptions, 34.4.4
    `getInfo` method, 34.4.5
    `getNextTimeout` method, 34.4.5
    `getTimeRemaining` method, 34.4.5
    getting information, 34.4.5
    programmatic timers, 34.4, 34.4.2
    saving timers, 34.4.4
    transactions, 34.4.6
  timestamps for JMS messages, 45.3.7.1
  `Topic` interface, 45.3.1.2
  topics, 45.3.1.2
    creating, 45.3.1.2, 46.9.1
    durable subscriptions, 45.3.6.4
    temporary, 45.4.3
  transactions, 51, 51.1
    application-managed, 37.3.1.2
    attributes, 51.3.1, 51.3.1.8
    bean-managed, 45.5.5, 51.4, 51.4.3
    boundaries, 51.2, 51.3.4, 51.4
    business methods. See business methods, transactions
    commits, 51.2, 51.3.3
    concurrency and, 56.3
    container-managed, 45.5.5, 51.3
    container-managed transaction demarcation, 51.3
    defined, 51.2
    distributed, 45.5.5
    examples, 46.3.2
    exceptions. See exceptions, transactions
    JDBC, 51.6
    JMS and enterprise bean applications, 45.5.3.2
    JTA, 51.4, 51.4.1
    local, 45.4.4
    managers, 51.3.1.7, 51.4.1, 51.6
    message-driven beans. See message-driven beans, transactions
    nested, 51.3, 51.4.1
    `Required` attribute, 45.5.5
    rollbacks, 51.2, 51.3.2, 51.3.3, 51.4.1
    scope, 51.3.1
    session beans. See session beans, transactions
    timeouts, 51.5
    timer service, 34.4.6
    web components, 51.7
  transport guarantees, 48.2.1.3
  `transport-guarantee` element, 48.2.1.3
  transport-layer security, 47.2.2.2, 47.6
  truststores, 50.1, 50.1.1
    managing, 50.1

## U

  UI component behavioral interfaces, 7.4.1
    `ActionSource` interface, 7.4.1, 7.4.4, 15.4, 15.6
    `ActionSource2` interface, 7.4.1, 15.4
    `ClientBehaviorHolder` interface, 7.4.1
    `ConvertibleValueHolder` interface, 7.4.1
    `EditableValueHolder` interface, 7.4.1, 15.4
    `NamingContainer` interface, 7.4.1, 15.4
    `StateHolder` interface, 7.4.1, 15.4, 15.4.5
    `SystemEventListenerHolder` interface, 7.4.1
    `ValueHolder` interface, 7.4.1, 15.4
  UI component classes, 7.4.1, 7.4.2, 15.1.1
    `javax.faces.component` package, 15.4
    `UIColumn` class, 7.4.1
    `UICommand` class, 7.4.1, 7.4.2
    `UIComponent` class, 7.4, 7.4.2
    `UIComponentBase` class, 7.4.1, 15.4, 15.4.2
    `UIData` class, 7.4.1, 12.2.1.2
    `UIForm` class, 7.4.1
    `UIGraphic` class, 7.4.1
    `UIInput` and `UIOutput` classes, 12.2.1.1
    `UIInput` class, 7.4.1, 7.4.4
    `UIMessage` class, 7.4.1
    `UIMessages` class, 7.4.1
    `UIOutcomeTarget` class, 7.4.1
    `UIOutput` class, 7.4.1, 7.4.3
    `UIPanel` class, 7.4.1
    `UIParameter` class, 7.4.1
    `UISelectBoolean` class, 7.4.1, 12.2.1.3
    `UISelectItem` class, 7.4.1, 12.2.1.6
    `UISelectItems` class, 7.4.1, 12.2.1.7
    `UISelectMany` class, 7.4.1, 12.2.1.4
    `UISelectOne` class, 7.4.1, 7.4.2, 12.2.1.5
    `UIViewRoot` class, 7.4.1
    See also custom UI components
  `UnavailableException` class, 17.4
  undeploying modules and applications, 6.3.5
  Unicode character set, 20.4.1
  unified expression language. See EL
  Uniform Resource Identifiers (URIs), 29.1
  URI path parameters, JAX-RS, 29.2.6
  URI path templates, JAX-RS, 29.2.2, 29.2.3
  URL paths, 6.4.1
  URLs, mapping, 29.2.7
  US-ASCII character set, 20.4.1
  user data constraints, 48.2.1, 48.2.1.3
  `user-data-constraint` element, 48.2.1.3
  users, 47.5.1.2
    adding to GlassFish Server, 47.5.2.1
    managing, 47.5.2
  `UserTransaction` interface, 37.3.1.2, 51.3.4, 51.4.1, 51.4.3, 51.7
    message-driven beans, 45.5.5
  using pages, 8.5
  UTF-8 character encoding, 20.4.2
  utility classes, 32.5

## V

  validating input. See Bean Validation, validation model
  validation, 21
    customizing, 22.1
    entities, 37.1.2.4
    groups, 22.3
    localization, 22.2.1.1
    messages, 22.2
    ordering, 22.3.1
  validation model, 7.4, 7.4.5, 7.4.5, 7.4.5
    referencing a method that performs validation, 11.4.3
    `validator` attribute, 10.2.4, 11.4, 11.4.3, 12.3.3
    `Validator` implementation, 7.4.5, 15.11.3
    `Validator` interface, 7.4.5, 12.3, 12.3.3
      custom validator tags, 15.11.2
      implementing, 15.11.1
    writing a managed bean method to perform validation, 12.3.3
    See also validators
  `Validator` implementation classes, 7.4.5, 11.3
    `BeanValidator` class, 11.3
    `DoubleRangeValidator` class, 10.3, 11.3
    `LengthValidator` class, 10.3, 11.3
    `LongRangeValidator` class, 10.3, 11.3, 11.3.2
    `RegexValidator` class, 11.3, 11.3.2
    `RequiredValidator` class, 11.3
  validator tags
    composite components, 14.3
    `validateBean` tag, 11.3
    `validateDoubleRange` tag, 11.3
    `validateLength` tag, 11.3
    `validateLongRange` tag, 11.3, 11.3.2
    `validateRegex` tag, 11.3, 11.3.2
    `validateRequired` tag, 11.3
    `validator` tag, 7.4.5, 15.11.2
  validators, 7.4, 7.6.2
    custom validators, 10.3, 15.11.3
    default, 16.6
    registering, 11.3.1
    standard, 11.3
  value binding
    acceptable types of component values, 12.2.1
    component instances to bean properties. See component binding
    component values and instances to managed bean properties, 15.12
    component values to implicit objects, 15.12.2
    component values to managed bean properties, 15.12.1
    properties, 12.2.1
    `value` attribute, 12.2, 15.2.4, 15.12, 15.12.1
    value expressions, 12.2.1.2, 15.4.4, 15.12.3
    value-binding expressions, 15.12
  value expressions, 12.1.2
    `ValueExpression` class, 12.1.2
  value-change events, 7.4.4, 7.4.4, 15.6
    `processValueChange(ValueChangeEvent)` method, 15.6.1
    `processValueChangeEvent` method, 12.3.4
    referencing methods that handle value-change events, 11.4.4
    `type` attribute, 11.2.1
    `ValueChangeEvent` class, 11.2.1, 15.6, 15.6.1
    `valueChangeListener` attribute, 10.2.4, 11.4, 12.3.4
    `ValueChangeListener` class, 11.2.1, 12.3.4, 15.6
    `ValueChangeListener` implementation, 15.6.1
    `valueChangeListener` tag, 10.3, 11.2.1, 15.1.1
    writing a managed bean method to handle value-change events, 12.3.4
  `Variant` class, JAX-RS, 31.6

## W

  W3C, 1.8.4, 28, 28.4
  WAR files, 5.1
  web applications, 5.3, 6
    configuring, 6.1
    deployment descriptors, 6.1
    document roots, 5.3
    establishing the locale, 20.2.1
    internationalizing and localizing, 20
    JMS example, 46.5
    maintaining state across requests, 17.9
    parsing and formatting localized dates and numbers, 20.3
    presentation-oriented, 6
    providing localized messages, 20.2
    retrieving localized messages, 20.2.3
    securing, 48
    service-oriented, 6
    setting the resource bundle, 20.2.2
    specifying context parameters, 6.5.1.1
    specifying welcome files, 6.5.2
  web clients, 1.3.3.1, 6
    examples, 33.1.2
  web components, 1.3.4, 6.1
    applets bundled with, 1.3.4
    concurrent access to shared resources, 17.3.2
    forwarding to other web components, 17.7.2
    including other web resources, 17.7.1
    invoking other web resources, 17.7
    mapping exceptions to error screens, 6.5.3
    mapping filters to, 17.6.3
    scope objects, 17.3.1
    securing, 48
    sharing information, 17.3
    transactions, 51.7
    types, 1.3.4
    utility classes bundled with, 1.3.4
    web context, 17.8
  web container, 1.4.2, 6.1
    loading and initializing servlets, 17.2
    mapping URLs to web components, 6.4.1
  web modules, 5.1, 5.3
    packaging and deploying, 6.3.2
    undeploying, 6.3.5
    viewing deployed, 6.3.3
  web pages, XHTML, 8.1
  web resource collections, 48.2.1, 48.2.1.1
  web resources, 5.3
    Facelets, 8.6
    mapping filters to, 17.6.3
    unprotected, 48.2.1.1
  web services, 1.5
    declaring references to, 6.5.4.2
    endpoint implementation classes, 34.3.1
    examples, 28.1, 34.3
    introduction, 27.1
    JAX-RS compared to JAX-WS, 27.2
    See also enterprise beans
  `web-resource-collection` element, 48.2.1.1
  WebSocket. See Java API for WebSocket
  `web.xml` file, 5.3, 16.12, 47.3.2, 49.2
  welcome files, 6.5.2
  work flows, 32.2.2
  writing managed bean methods, 12.3
    for handling action events, 12.3.2
    for handling value-change events, 12.3.4
    for performing navigation, 12.3.1
    for performing validation, 12.3.3
  writing managed bean properties
    converters, 12.2.3
    listeners, 12.2.3
    validators, 12.2.3
  WSDL, 1.5.3, 27.2, 28, 28.4
  `wsgen` tool, 1.9
  `wsimport` tool, 1.9

## X

  `xjc` tool, 1.9
  XML, 1.5.1, 28
  XML schema
    mappings of Java classes to XML data types, 28.2.2
    mappings to Java data types, 28.2.1