All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.faces.application.ApplicationFactory Maven / Gradle / Ivy

Go to download

Jakarta Server Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 3.1.0.SP02
Show newest version
/*
 * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package javax.faces.application;

import javax.faces.FacesWrapper;

/**
 * 

* ApplicationFactory is a * factory object that creates (if needed) and returns {@link Application} instances. * Implementations of Jakarta Server Faces must provide at least a default implementation of * {@link Application}. *

* *

* There must be one {@link ApplicationFactory} instance per web application that is utilizing * Jakarta Server Faces. This instance can be acquired, in a portable manner, by calling: *

* *
 * ApplicationFactory factory = (ApplicationFactory) FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
 * 
* *

* Usage: extend this class and push the implementation being wrapped to the constructor and use * {@link #getWrapped} to access the instance being wrapped. *

*/ public abstract class ApplicationFactory implements FacesWrapper { private ApplicationFactory wrapped; /** * @deprecated Use the other constructor taking the implementation being wrapped. */ @Deprecated public ApplicationFactory() { } /** *

* If this factory has been decorated, the implementation doing the decorating should push the * implementation being wrapped to this constructor. The {@link #getWrapped()} will then return * the implementation being wrapped. *

* * @param wrapped The implementation being wrapped. */ public ApplicationFactory(ApplicationFactory wrapped) { this.wrapped = wrapped; } /** *

* If this factory has been decorated, the implementation doing the decorating may override this * method to provide access to the implementation being wrapped. *

* * @since 2.0 */ @Override public ApplicationFactory getWrapped() { return wrapped; } /** *

* Create (if needed) and return an {@link Application} instance for this web application. *

* * @return the application. */ public abstract Application getApplication(); /** *

* Replace the {@link Application} instance that will be returned for this web application. *

* * @throws NullPointerException if application is null. * * @param application The replacement {@link Application} instance */ public abstract void setApplication(Application application); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy