/*
* (C) Copyright 2006-2007 Nuxeo SAS <http://nuxeo.com> and others
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Jean-Marc Orliaguet, Chalmers
*
* $Id$
*/
package org.nuxeo.theme.jsf.filters.widgets;
import org.nuxeo.theme.elements.Element;
import org.nuxeo.theme.models.Region;
import org.nuxeo.theme.rendering.RenderingInfo;
import org.nuxeo.theme.views.AbstractView;
public final class FaceletRegionView extends AbstractView {
@Override
public String render(final RenderingInfo info) {
final Region region = (Region) info.getModel();
final StringBuilder s = new StringBuilder();
final Element element = info.getElement();
String className = element.getCssClassName();
if ("".equals(region.name)) {
if (className == null) {
className = "nxthemesRegionNotSet";
}
s.append("<div class=\"").append(className).append("\">").append(
"No facelet region name is set...").append("</div>");
} else {
if (className == null) {
className = "themeRegion";
}
s.append("<div xmlns:ui=\"http://java.sun.com/jsf/facelets\"").append(
" class=\"").append(className).append("\">");
s.append("<ui:insert name=\"").append(region.name).append("\">");
if ("".equals(region.defaultSrc)) {
s.append(region.defaultBody);
} else {
s.append("<ui:include src=\"").append(region.defaultSrc).append(
"\" />");
}
s.append("</ui:insert>");
s.append("</div>");
}
return s.toString();
}
}