blob: aa4ee33c09c2f33772f0ed7d55831197d4a120bc [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.openejb.jee;
import org.metatype.sxc.jaxb.JAXBObject;
import org.metatype.sxc.jaxb.LifecycleCallback;
import org.metatype.sxc.jaxb.RuntimeContext;
import org.metatype.sxc.util.Attribute;
import org.metatype.sxc.util.XoXMLStreamReader;
import org.metatype.sxc.util.XoXMLStreamWriter;
import javax.xml.XMLConstants;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;
import static org.apache.openejb.jee.FacesApplicationExtension$JAXB.readFacesApplicationExtension;
import static org.apache.openejb.jee.FacesApplicationExtension$JAXB.writeFacesApplicationExtension;
import static org.apache.openejb.jee.FacesApplicationResourceBundle$JAXB.readFacesApplicationResourceBundle;
import static org.apache.openejb.jee.FacesApplicationResourceBundle$JAXB.writeFacesApplicationResourceBundle;
import static org.apache.openejb.jee.FacesLocaleConfig$JAXB.readFacesLocaleConfig;
import static org.apache.openejb.jee.FacesLocaleConfig$JAXB.writeFacesLocaleConfig;
import static org.apache.openejb.jee.FacesSystemEventListener$JAXB.readFacesSystemEventListener;
import static org.apache.openejb.jee.FacesSystemEventListener$JAXB.writeFacesSystemEventListener;
import static org.apache.openejb.jee.FacesValidator$JAXB.readFacesValidator;
import static org.apache.openejb.jee.FacesValidator$JAXB.writeFacesValidator;
@SuppressWarnings({
"StringEquality"
})
public class FacesApplication$JAXB
extends JAXBObject<FacesApplication> {
public FacesApplication$JAXB() {
super(FacesApplication.class, null, new QName("http://java.sun.com/xml/ns/javaee".intern(), "faces-config-applicationType".intern()), FacesSystemEventListener$JAXB.class, FacesLocaleConfig$JAXB.class, FacesApplicationResourceBundle$JAXB.class, FacesApplicationExtension$JAXB.class, FacesValidator$JAXB.class);
}
public static FacesApplication readFacesApplication(final XoXMLStreamReader reader, final RuntimeContext context)
throws Exception {
return _read(reader, context);
}
public static void writeFacesApplication(final XoXMLStreamWriter writer, final FacesApplication facesApplication, final RuntimeContext context)
throws Exception {
_write(writer, facesApplication, context);
}
public void write(final XoXMLStreamWriter writer, final FacesApplication facesApplication, final RuntimeContext context)
throws Exception {
_write(writer, facesApplication, context);
}
public final static FacesApplication _read(final XoXMLStreamReader reader, RuntimeContext context)
throws Exception {
// Check for xsi:nil
if (reader.isXsiNil()) {
return null;
}
if (context == null) {
context = new RuntimeContext();
}
final FacesApplication facesApplication = new FacesApplication();
context.beforeUnmarshal(facesApplication, LifecycleCallback.NONE);
List<String> actionListener = null;
List<String> defaultRenderKitId = null;
List<String> messageBundle = null;
List<String> navigationHandler = null;
List<String> viewHandler = null;
List<String> stateManager = null;
List<String> elResolver = null;
List<String> propertyResolver = null;
List<String> variableResolver = null;
List<String> resourceHandler = null;
List<FacesSystemEventListener> systemEventListener = null;
List<FacesLocaleConfig> localeConfig = null;
List<FacesApplicationExtension> applicationExtension = null;
List<FacesValidator> defaultValidators = null;
// Check xsi:type
final QName xsiType = reader.getXsiType();
if (xsiType != null) {
if (("faces-config-applicationType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
return context.unexpectedXsiType(reader, FacesApplication.class);
}
}
// Read attributes
for (final Attribute attribute : reader.getAttributes()) {
if (("id" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
// ATTRIBUTE: id
final String id = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
context.addXmlId(reader, id, facesApplication);
facesApplication.id = id;
} else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) {
context.unexpectedAttribute(attribute, new QName("", "id"));
}
}
// Read elements
for (final XoXMLStreamReader elementReader : reader.getChildElements()) {
if (("action-listener" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: actionListener
final String actionListenerItemRaw = elementReader.getElementAsString();
final String actionListenerItem;
try {
actionListenerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(actionListenerItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (actionListener == null) {
actionListener = facesApplication.actionListener;
if (actionListener != null) {
actionListener.clear();
} else {
actionListener = new ArrayList<String>();
}
}
actionListener.add(actionListenerItem);
} else if (("default-render-kit-id" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: defaultRenderKitId
final String defaultRenderKitIdItemRaw = elementReader.getElementAsString();
final String defaultRenderKitIdItem;
try {
defaultRenderKitIdItem = Adapters.collapsedStringAdapterAdapter.unmarshal(defaultRenderKitIdItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (defaultRenderKitId == null) {
defaultRenderKitId = facesApplication.defaultRenderKitId;
if (defaultRenderKitId != null) {
defaultRenderKitId.clear();
} else {
defaultRenderKitId = new ArrayList<String>();
}
}
defaultRenderKitId.add(defaultRenderKitIdItem);
} else if (("message-bundle" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: messageBundle
final String messageBundleItemRaw = elementReader.getElementAsString();
final String messageBundleItem;
try {
messageBundleItem = Adapters.collapsedStringAdapterAdapter.unmarshal(messageBundleItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (messageBundle == null) {
messageBundle = facesApplication.messageBundle;
if (messageBundle != null) {
messageBundle.clear();
} else {
messageBundle = new ArrayList<String>();
}
}
messageBundle.add(messageBundleItem);
} else if (("navigation-handler" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: navigationHandler
final String navigationHandlerItemRaw = elementReader.getElementAsString();
final String navigationHandlerItem;
try {
navigationHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(navigationHandlerItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (navigationHandler == null) {
navigationHandler = facesApplication.navigationHandler;
if (navigationHandler != null) {
navigationHandler.clear();
} else {
navigationHandler = new ArrayList<String>();
}
}
navigationHandler.add(navigationHandlerItem);
} else if (("view-handler" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: viewHandler
final String viewHandlerItemRaw = elementReader.getElementAsString();
final String viewHandlerItem;
try {
viewHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(viewHandlerItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (viewHandler == null) {
viewHandler = facesApplication.viewHandler;
if (viewHandler != null) {
viewHandler.clear();
} else {
viewHandler = new ArrayList<String>();
}
}
viewHandler.add(viewHandlerItem);
} else if (("state-manager" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: stateManager
final String stateManagerItemRaw = elementReader.getElementAsString();
final String stateManagerItem;
try {
stateManagerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(stateManagerItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (stateManager == null) {
stateManager = facesApplication.stateManager;
if (stateManager != null) {
stateManager.clear();
} else {
stateManager = new ArrayList<String>();
}
}
stateManager.add(stateManagerItem);
} else if (("el-resolver" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: elResolver
final String elResolverItemRaw = elementReader.getElementAsString();
final String elResolverItem;
try {
elResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(elResolverItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (elResolver == null) {
elResolver = facesApplication.elResolver;
if (elResolver != null) {
elResolver.clear();
} else {
elResolver = new ArrayList<String>();
}
}
elResolver.add(elResolverItem);
} else if (("property-resolver" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: propertyResolver
final String propertyResolverItemRaw = elementReader.getElementAsString();
final String propertyResolverItem;
try {
propertyResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(propertyResolverItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (propertyResolver == null) {
propertyResolver = facesApplication.propertyResolver;
if (propertyResolver != null) {
propertyResolver.clear();
} else {
propertyResolver = new ArrayList<String>();
}
}
propertyResolver.add(propertyResolverItem);
} else if (("variable-resolver" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: variableResolver
final String variableResolverItemRaw = elementReader.getElementAsString();
final String variableResolverItem;
try {
variableResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(variableResolverItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (variableResolver == null) {
variableResolver = facesApplication.variableResolver;
if (variableResolver != null) {
variableResolver.clear();
} else {
variableResolver = new ArrayList<String>();
}
}
variableResolver.add(variableResolverItem);
} else if (("resource-handler" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: resourceHandler
final String resourceHandlerItemRaw = elementReader.getElementAsString();
final String resourceHandlerItem;
try {
resourceHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(resourceHandlerItemRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (resourceHandler == null) {
resourceHandler = facesApplication.resourceHandler;
if (resourceHandler != null) {
resourceHandler.clear();
} else {
resourceHandler = new ArrayList<String>();
}
}
resourceHandler.add(resourceHandlerItem);
} else if (("system-event-listener" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: systemEventListener
final FacesSystemEventListener systemEventListenerItem = readFacesSystemEventListener(elementReader, context);
if (systemEventListener == null) {
systemEventListener = facesApplication.systemEventListener;
if (systemEventListener != null) {
systemEventListener.clear();
} else {
systemEventListener = new ArrayList<FacesSystemEventListener>();
}
}
systemEventListener.add(systemEventListenerItem);
} else if (("locale-config" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: localeConfig
final FacesLocaleConfig localeConfigItem = readFacesLocaleConfig(elementReader, context);
if (localeConfig == null) {
localeConfig = facesApplication.localeConfig;
if (localeConfig != null) {
localeConfig.clear();
} else {
localeConfig = new ArrayList<FacesLocaleConfig>();
}
}
localeConfig.add(localeConfigItem);
} else if (("resource-bundle" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: resourceBundle
final FacesApplicationResourceBundle resourceBundle = readFacesApplicationResourceBundle(elementReader, context);
facesApplication.resourceBundle = resourceBundle;
} else if (("application-extension" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: applicationExtension
final FacesApplicationExtension applicationExtensionItem = readFacesApplicationExtension(elementReader, context);
if (applicationExtension == null) {
applicationExtension = facesApplication.applicationExtension;
if (applicationExtension != null) {
applicationExtension.clear();
} else {
applicationExtension = new ArrayList<FacesApplicationExtension>();
}
}
applicationExtension.add(applicationExtensionItem);
} else if (("default-validators" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: defaultValidators
final FacesValidator defaultValidatorsItem = readFacesValidator(elementReader, context);
if (defaultValidators == null) {
defaultValidators = facesApplication.defaultValidators;
if (defaultValidators != null) {
defaultValidators.clear();
} else {
defaultValidators = new ArrayList<FacesValidator>();
}
}
defaultValidators.add(defaultValidatorsItem);
} else {
// just here ATM to not prevent users to get JSF 2.2 feature because we can't read it
// TODO: handle it properly
// context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "action-listener"), new QName("http://java.sun.com/xml/ns/javaee", "default-render-kit-id"), new QName("http://java.sun.com/xml/ns/javaee", "message-bundle"), new QName("http://java.sun.com/xml/ns/javaee", "navigation-handler"), new QName("http://java.sun.com/xml/ns/javaee", "view-handler"), new QName("http://java.sun.com/xml/ns/javaee", "state-manager"), new QName("http://java.sun.com/xml/ns/javaee", "el-resolver"), new QName("http://java.sun.com/xml/ns/javaee", "property-resolver"), new QName("http://java.sun.com/xml/ns/javaee", "variable-resolver"), new QName("http://java.sun.com/xml/ns/javaee", "resource-handler"), new QName("http://java.sun.com/xml/ns/javaee", "system-event-listener"), new QName("http://java.sun.com/xml/ns/javaee", "locale-config"), new QName("http://java.sun.com/xml/ns/javaee", "resource-bundle"), new QName("http://java.sun.com/xml/ns/javaee", "application-extension"), new QName("http://java.sun.com/xml/ns/javaee", "default-validators"));
}
}
if (actionListener != null) {
facesApplication.actionListener = actionListener;
}
if (defaultRenderKitId != null) {
facesApplication.defaultRenderKitId = defaultRenderKitId;
}
if (messageBundle != null) {
facesApplication.messageBundle = messageBundle;
}
if (navigationHandler != null) {
facesApplication.navigationHandler = navigationHandler;
}
if (viewHandler != null) {
facesApplication.viewHandler = viewHandler;
}
if (stateManager != null) {
facesApplication.stateManager = stateManager;
}
if (elResolver != null) {
facesApplication.elResolver = elResolver;
}
if (propertyResolver != null) {
facesApplication.propertyResolver = propertyResolver;
}
if (variableResolver != null) {
facesApplication.variableResolver = variableResolver;
}
if (resourceHandler != null) {
facesApplication.resourceHandler = resourceHandler;
}
if (systemEventListener != null) {
facesApplication.systemEventListener = systemEventListener;
}
if (localeConfig != null) {
facesApplication.localeConfig = localeConfig;
}
if (applicationExtension != null) {
facesApplication.applicationExtension = applicationExtension;
}
if (defaultValidators != null) {
facesApplication.defaultValidators = defaultValidators;
}
context.afterUnmarshal(facesApplication, LifecycleCallback.NONE);
return facesApplication;
}
public final FacesApplication read(final XoXMLStreamReader reader, final RuntimeContext context)
throws Exception {
return _read(reader, context);
}
public final static void _write(final XoXMLStreamWriter writer, final FacesApplication facesApplication, RuntimeContext context)
throws Exception {
if (facesApplication == null) {
writer.writeXsiNil();
return;
}
if (context == null) {
context = new RuntimeContext();
}
final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
if (FacesApplication.class != facesApplication.getClass()) {
context.unexpectedSubclass(writer, facesApplication, FacesApplication.class);
return;
}
context.beforeMarshal(facesApplication, LifecycleCallback.NONE);
// ATTRIBUTE: id
final String idRaw = facesApplication.id;
if (idRaw != null) {
String id = null;
try {
id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "id", CollapsedStringAdapter.class, String.class, String.class, e);
}
writer.writeAttribute("", "", "id", id);
}
// ELEMENT: actionListener
final List<String> actionListenerRaw = facesApplication.actionListener;
if (actionListenerRaw != null) {
for (final String actionListenerItem : actionListenerRaw) {
String actionListener = null;
try {
actionListener = Adapters.collapsedStringAdapterAdapter.marshal(actionListenerItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "actionListener", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (actionListener != null) {
writer.writeStartElement(prefix, "action-listener", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(actionListener);
writer.writeEndElement();
}
}
}
// ELEMENT: defaultRenderKitId
final List<String> defaultRenderKitIdRaw = facesApplication.defaultRenderKitId;
if (defaultRenderKitIdRaw != null) {
for (final String defaultRenderKitIdItem : defaultRenderKitIdRaw) {
String defaultRenderKitId = null;
try {
defaultRenderKitId = Adapters.collapsedStringAdapterAdapter.marshal(defaultRenderKitIdItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "defaultRenderKitId", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (defaultRenderKitId != null) {
writer.writeStartElement(prefix, "default-render-kit-id", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(defaultRenderKitId);
writer.writeEndElement();
}
}
}
// ELEMENT: messageBundle
final List<String> messageBundleRaw = facesApplication.messageBundle;
if (messageBundleRaw != null) {
for (final String messageBundleItem : messageBundleRaw) {
String messageBundle = null;
try {
messageBundle = Adapters.collapsedStringAdapterAdapter.marshal(messageBundleItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "messageBundle", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (messageBundle != null) {
writer.writeStartElement(prefix, "message-bundle", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(messageBundle);
writer.writeEndElement();
}
}
}
// ELEMENT: navigationHandler
final List<String> navigationHandlerRaw = facesApplication.navigationHandler;
if (navigationHandlerRaw != null) {
for (final String navigationHandlerItem : navigationHandlerRaw) {
String navigationHandler = null;
try {
navigationHandler = Adapters.collapsedStringAdapterAdapter.marshal(navigationHandlerItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "navigationHandler", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (navigationHandler != null) {
writer.writeStartElement(prefix, "navigation-handler", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(navigationHandler);
writer.writeEndElement();
}
}
}
// ELEMENT: viewHandler
final List<String> viewHandlerRaw = facesApplication.viewHandler;
if (viewHandlerRaw != null) {
for (final String viewHandlerItem : viewHandlerRaw) {
String viewHandler = null;
try {
viewHandler = Adapters.collapsedStringAdapterAdapter.marshal(viewHandlerItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "viewHandler", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (viewHandler != null) {
writer.writeStartElement(prefix, "view-handler", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(viewHandler);
writer.writeEndElement();
}
}
}
// ELEMENT: stateManager
final List<String> stateManagerRaw = facesApplication.stateManager;
if (stateManagerRaw != null) {
for (final String stateManagerItem : stateManagerRaw) {
String stateManager = null;
try {
stateManager = Adapters.collapsedStringAdapterAdapter.marshal(stateManagerItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "stateManager", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (stateManager != null) {
writer.writeStartElement(prefix, "state-manager", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(stateManager);
writer.writeEndElement();
}
}
}
// ELEMENT: elResolver
final List<String> elResolverRaw = facesApplication.elResolver;
if (elResolverRaw != null) {
for (final String elResolverItem : elResolverRaw) {
String elResolver = null;
try {
elResolver = Adapters.collapsedStringAdapterAdapter.marshal(elResolverItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "elResolver", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (elResolver != null) {
writer.writeStartElement(prefix, "el-resolver", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(elResolver);
writer.writeEndElement();
}
}
}
// ELEMENT: propertyResolver
final List<String> propertyResolverRaw = facesApplication.propertyResolver;
if (propertyResolverRaw != null) {
for (final String propertyResolverItem : propertyResolverRaw) {
String propertyResolver = null;
try {
propertyResolver = Adapters.collapsedStringAdapterAdapter.marshal(propertyResolverItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "propertyResolver", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (propertyResolver != null) {
writer.writeStartElement(prefix, "property-resolver", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(propertyResolver);
writer.writeEndElement();
}
}
}
// ELEMENT: variableResolver
final List<String> variableResolverRaw = facesApplication.variableResolver;
if (variableResolverRaw != null) {
for (final String variableResolverItem : variableResolverRaw) {
String variableResolver = null;
try {
variableResolver = Adapters.collapsedStringAdapterAdapter.marshal(variableResolverItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "variableResolver", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (variableResolver != null) {
writer.writeStartElement(prefix, "variable-resolver", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(variableResolver);
writer.writeEndElement();
}
}
}
// ELEMENT: resourceHandler
final List<String> resourceHandlerRaw = facesApplication.resourceHandler;
if (resourceHandlerRaw != null) {
for (final String resourceHandlerItem : resourceHandlerRaw) {
String resourceHandler = null;
try {
resourceHandler = Adapters.collapsedStringAdapterAdapter.marshal(resourceHandlerItem);
} catch (final Exception e) {
context.xmlAdapterError(facesApplication, "resourceHandler", CollapsedStringAdapter.class, List.class, List.class, e);
}
if (resourceHandler != null) {
writer.writeStartElement(prefix, "resource-handler", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(resourceHandler);
writer.writeEndElement();
}
}
}
// ELEMENT: systemEventListener
final List<FacesSystemEventListener> systemEventListener = facesApplication.systemEventListener;
if (systemEventListener != null) {
for (final FacesSystemEventListener systemEventListenerItem : systemEventListener) {
if (systemEventListenerItem != null) {
writer.writeStartElement(prefix, "system-event-listener", "http://java.sun.com/xml/ns/javaee");
writeFacesSystemEventListener(writer, systemEventListenerItem, context);
writer.writeEndElement();
}
}
}
// ELEMENT: localeConfig
final List<FacesLocaleConfig> localeConfig = facesApplication.localeConfig;
if (localeConfig != null) {
for (final FacesLocaleConfig localeConfigItem : localeConfig) {
if (localeConfigItem != null) {
writer.writeStartElement(prefix, "locale-config", "http://java.sun.com/xml/ns/javaee");
writeFacesLocaleConfig(writer, localeConfigItem, context);
writer.writeEndElement();
}
}
}
// ELEMENT: resourceBundle
final FacesApplicationResourceBundle resourceBundle = facesApplication.resourceBundle;
if (resourceBundle != null) {
writer.writeStartElement(prefix, "resource-bundle", "http://java.sun.com/xml/ns/javaee");
writeFacesApplicationResourceBundle(writer, resourceBundle, context);
writer.writeEndElement();
} else {
context.unexpectedNullValue(facesApplication, "resourceBundle");
}
// ELEMENT: applicationExtension
final List<FacesApplicationExtension> applicationExtension = facesApplication.applicationExtension;
if (applicationExtension != null) {
for (final FacesApplicationExtension applicationExtensionItem : applicationExtension) {
if (applicationExtensionItem != null) {
writer.writeStartElement(prefix, "application-extension", "http://java.sun.com/xml/ns/javaee");
writeFacesApplicationExtension(writer, applicationExtensionItem, context);
writer.writeEndElement();
}
}
}
// ELEMENT: defaultValidators
final List<FacesValidator> defaultValidators = facesApplication.defaultValidators;
if (defaultValidators != null) {
for (final FacesValidator defaultValidatorsItem : defaultValidators) {
if (defaultValidatorsItem != null) {
writer.writeStartElement(prefix, "default-validators", "http://java.sun.com/xml/ns/javaee");
writeFacesValidator(writer, defaultValidatorsItem, context);
writer.writeEndElement();
}
}
}
context.afterMarshal(facesApplication, LifecycleCallback.NONE);
}
}