/*
* Copyright (c) 1998-2011 Caucho Technology -- all rights reserved
*
* This file is part of Resin(R) Open Source
*
* Each copy or derived work must preserve the copyright notice and this
* notice unmodified.
*
* Resin Open Source is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* Resin Open Source is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
* of NON-INFRINGEMENT. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License
* along with Resin Open Source; if not, write to the
*
* Free Software Foundation, Inc.
* 59 Temple Place, Suite 330
* Boston, MA 02111-1307 USA
*
* @author Scott Ferguson
*/
package com.caucho.jsf.cfg;
import com.caucho.config.program.ConfigProgram;
import java.util.*;
import javax.annotation.*;
import javax.faces.application.*;
import javax.faces.event.*;
public class FacesConfig
{
private String _id;
private String _version;
private ApplicationConfig _application;
private FactoryConfig _factory;
private ArrayList<ComponentConfig> _componentList
= new ArrayList<ComponentConfig>();
private ArrayList<ConverterConfig> _converterList
= new ArrayList<ConverterConfig>();
private ArrayList<LifecycleConfig> _lifecycleList
= new ArrayList<LifecycleConfig>();
private ArrayList<ValidatorConfig> _validatorList
= new ArrayList<ValidatorConfig>();
private ArrayList<ReferencedBeanConfig> _referencedBeanList
= new ArrayList<ReferencedBeanConfig>();
private ArrayList<RenderKitConfig> _renderKitList
= new ArrayList<RenderKitConfig>();
private ArrayList<ManagedBeanConfig> _managedBeanList
= new ArrayList<ManagedBeanConfig>();
private List<NavigationRule> _navigationRuleList
= new ArrayList<NavigationRule>();
public void setId(String id)
{
}
public void setSchemaLocation(String location)
{
}
public String getSchemaLocation()
{
return null;
}
public void setVersion(String version)
{
}
public void setFacesConfigExtension(ConfigProgram program)
{
}
public void addManagedBean(ManagedBeanConfig managedBean)
{
_managedBeanList.add(managedBean);
}
public ArrayList<ManagedBeanConfig> getManagedBeans()
{
return _managedBeanList;
}
public void addComponent(ComponentConfig component)
{
_componentList.add(component);
}
public void addReferencedBean(ReferencedBeanConfig referencedBean)
{
_referencedBeanList.add(referencedBean);
}
public void addConverter(ConverterConfig converter)
{
_converterList.add(converter);
}
public void addLifecycle(LifecycleConfig lifecycle)
{
_lifecycleList.add(lifecycle);
}
public void addValidator(ValidatorConfig validator)
{
_validatorList.add(validator);
}
public void addRenderKit(RenderKitConfig renderKit)
{
_renderKitList.add(renderKit);
}
public ApplicationConfig getApplication()
{
return _application;
}
public void setApplication(ApplicationConfig app)
{
_application = app;
}
public void setFactory(FactoryConfig factory)
{
_factory = factory;
}
public void addNavigationRule(NavigationRule rule)
{
_navigationRuleList.add(rule);
}
public List<NavigationRule> getNavigationRules()
{
return _navigationRuleList;
}
@PostConstruct
public void init()
{
if (_factory != null)
_factory.init();
}
public void configure(Application app)
{
for (int i = 0; i < _componentList.size(); i++)
_componentList.get(i).configure(app);
for (int i = 0; i < _converterList.size(); i++)
_converterList.get(i).configure(app);
for (int i = 0; i < _validatorList.size(); i++)
_validatorList.get(i).configure(app);
for (int i = 0; i < _renderKitList.size(); i++)
_renderKitList.get(i).configure();
}
public void configurePhaseListeners(ArrayList<PhaseListener> list)
{
for (int i = 0; i < _lifecycleList.size(); i++)
_lifecycleList.get(i).configurePhaseListeners(list);
}
}