Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source
  * Copyright 2010, Red Hat, Inc., and individual contributors
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,  
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package javax.enterprise.context.spi;

Provides an operation for obtaining contextual instances with a particular scope of any contextual type. Any instance of Context is called a context object.

AlterableContext was introduced in CDI 1.1 to allow bean instances to be destroyed by the application. Extensions should implement AlterableContext instead of Context.

The context object is responsible for creating and destroying contextual instances by calling operations of Contextual. In particular, the context object is responsible for destroying any contextual instance it creates by passing the instance to Contextual.destroy(java.lang.Object,javax.enterprise.context.spi.CreationalContext) . A destroyed instance must not subsequently be returned by get(). The context object must pass the same instance of CreationalContext to Contextual.destroy() that it passed to Contextual.create() when it created the instance.

A custom context object may be registered with the container using javax.enterprise.inject.spi.AfterBeanDiscovery.addContext(javax.enterprise.context.spi.Context).

Author(s):
Gavin King
Pete Muir
public interface Context {

    
Get the scope type of the context object.

Returns:
the scope
    public Class<? extends AnnotationgetScope();

    
Return an existing instance of certain contextual type or create a new instance by calling Contextual.create(javax.enterprise.context.spi.CreationalContext) and return the new instance.

Parameters:
<T> the type of contextual type
contextual the contextual type
creationalContext the context in which the new instance will be created
Returns:
the contextual instance
Throws:
javax.enterprise.context.ContextNotActiveException if the context is not active
    public <T> T get(Contextual<T> contextualCreationalContext<T> creationalContext);

    
Return an existing instance of a certain contextual type or a null value.

Parameters:
<T> the type of the contextual type
contextual the contextual type
Returns:
the contextual instance, or a null value
Throws:
javax.enterprise.context.ContextNotActiveException if the context is not active
    public <T> T get(Contextual<T> contextual);

    
Determines if the context object is active.

Returns:
true if the context is active, or false otherwise.
    public boolean isActive();
New to GrepCode? Check out our FAQ X