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

org.apache.myfaces.custom.dojo.DojoInitializer Maven / Gradle / Ivy

/*
 * 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.myfaces.custom.dojo;

import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;


/**
 * Default component for the dojo intializer
 * 
* This component is purely non visual, and serves for * quick hacking, and prototyping the dojo toolkit within * verbatimed html. *
* Dojo initializer helper tag for debugging and communication flags. * This tag encapsules the Dojo DjConfig meta configuration and also * adds the needed dojo required functionality. * * @JSFComponent * name = "t:dojoInitializer" * tagClass = "org.apache.myfaces.custom.dojo.DojoInitializerTag" * * @JSFJspProperty name = "converter" tagExcluded = "true" * @JSFJspProperty name = "value" tagExcluded = "true" * @author Werner Punz (latest modification by $Author: lu4242 $) * @version $Revision: 672986 $ $Date: 2008-06-30 23:13:55 -0500 (Mon, 30 Jun 2008) $ */ public class DojoInitializer extends UIOutput { public static final String COMPONENT_TYPE = "org.apache.myfaces.DojoInitializer"; public static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.DojoInitializerRenderer"; public static final String COMPONENT_FAMILY = "javax.faces.Output"; Boolean _debugConsole = null; DojoConfig _dojoConfig = new DojoConfig(); Boolean _expanded = null; String _provide = null; String _require = null; Boolean _development = null; //we handle that specifically to speed things up (we do not want an NxN runtime complexity via enforced //reflection in the utils boolean dojoConfigParamSet = false; public DojoInitializer() { super(); setRendererType(DEFAULT_RENDERER_TYPE); } /** * Triggers a standard dojo allowQueryConfig as defined * by the Dojo Toolkit. * If someone has additional infos about this tag, * please fill in here. * * @JSFProperty */ public Boolean getAllowQueryConfig() { return _dojoConfig.getAllowQueryConfig(); } /** * Triggers a standard dojo baseScriptUri as defined by the * Dojo Toolkit *
*
* Allows the alteration of the dojo loading root path * used by require. * * @JSFProperty */ public String getBaseScriptUri() { return _dojoConfig.getBaseScriptUri(); } /** * Triggers a standard dojo bindEncoding as defined by the * Dojo Toolkit * * Although this control most of the times is not * needed one usage in plain jsf applications can be * thought of. The changing of the bind encodings, if * you check the parameter list of the control * ioSendTransport * can be used to change this encoding to any encoding * parameter needed. This can be used to change the * internal ajax request encodings of various controls * in a global manner. * * @JSFProperty */ public String getBindEncoding() { return _dojoConfig.getBindEncoding(); } public String getComponentType() { return COMPONENT_TYPE; } /** * Triggers a standard dojo debug as defined by the * Dojo Toolkit *
*
* Enables the dojo debugging framework. The usage of * dojo.debug causes output to be displayed in either * the current container or a target container, if one * is set. * * @JSFProperty */ public Boolean getDebug() { return _dojoConfig.getDebug(); } /** * Triggers a standard dojo debugAtAllCosts as defined by the * Dojo Toolkit *
* Tries to enforce debugging even if the browser * version does not allow it to work properlys * * @JSFProperty */ public Boolean getDebugAtAllCosts() { return _dojoConfig.getDebugAtAllCosts(); } /** * Triggers a standard dojo debugConsole as defined by the * Dojo Toolkit *
*
* This flag pops up a separate in frame floating * window which receives the debugging output. *
*
* Note: This flag only works if debugging is enabled * generally via the debug="true" flag set * * @JSFProperty */ public Boolean getDebugConsole() { return _debugConsole; } /** * Triggers a standard dojo debugContainerId as defined by the * Dojo Toolkit *
*
* This flag notifies the Dojo toolkit about the id * which should receive the debug output. Dojo has a * full debugging framework in it which allows to turn * on debug output via a logging mechanism @see * dojo.debug() for further references. *
*
* The debugging output is not limited to the current * container triggering the debugging statement any * container can receive the debugging output this flag * is the flag which has to be set for setting a * different target id for the debugging output. * * @JSFProperty */ public String getDebugContainerId() { return _dojoConfig.getDebugContainerId(); } public DojoConfig getDojoConfig() { return _dojoConfig; } /** * Triggers a standard dojo development as defined by the * Dojo Toolkit * If you can find additional info about this attribute * please fill in here * * @JSFProperty */ public Boolean getExpanded() { return _expanded; } public String getFamily() { return COMPONENT_FAMILY; } /** * Triggers a standard dojo ignoreClassNames as defined * by the * Dojo Toolkit *
*
* This attribute turns on the case insensitive * handling of classnames by require and other Dojo * class loader mechanisms. *
*
* Case sensitivity is by default turned * on. * * @JSFProperty */ public Boolean getIgnoreClassNames() { return _dojoConfig.getIgnoreClassNames(); } /** * Dojo in its underlying architecture allows various * options of server-client side communication. This * setting allows the alteration of the communication * layer to a different protocol. Currently only in * usage is xmlhttprequest, hence setting this encoding * will not change too much. But different encodings * like iframe are planned for the future. * * @JSFProperty */ public String getIoSendTransport() { return _dojoConfig.getIoSendTransport(); } /** * Triggers a standard dojo parseWidgets as defined by the * Dojo Toolkit * * This parameter is used to turn on or off the dojo * widgeting parsing. The parsing is not used by * MyFaces for various reasons, but can be used by your * own html code. *
*
* For addititional information regarding the Dojo * Toolkit widget parsing, visit the *
* Dojo Toolkit Homepage * * @JSFProperty */ public Boolean getParseWidgets() { return _dojoConfig.getParseWidgets(); } /** * Dojo uses internally back button blockers to avoid * problems with ajax requests causing the back button, * to move out of the back page navigation order. * Sometimes this behavior is not wanted and can be * turned off with this on a global scale; * * @JSFProperty */ public Boolean getPreventBackButtonFix() { return _dojoConfig.getPreventBackButtonFix(); } /** * Triggers a standard dojo provide as defined by the * Dojo Toolkit * * @JSFProperty */ public String getProvide() { return _provide; } public String getRendererType() { return DojoInitializerRenderer.RENDERER_TYPE; } /** * Triggers a standard dojo provide as defined by the * Dojo Toolkit * * @JSFProperty */ public String getRequire() { return _require; } /** * Triggers a standard dojo development as defined by the * Dojo Toolkit * If you can find additional info about this attribute * please fill in here * * @JSFProperty */ public String getSearchIds() { return _dojoConfig.getSearchIds(); } /** * Triggers a standard dojo development as defined by the * Dojo Toolkit * If this parameter is set to true. The expanded * debuggable version of dojo is included * if set to false the compressed one is included. * * @JSFProperty */ public Boolean getDevelopment() { return _dojoConfig.getDevelopment(); } public Object getValue() { return "DojoInitializers"; } public boolean isDojoConfigParamSet() { return dojoConfigParamSet; } public void restoreState(FacesContext context, Object state) { Object[] values = (Object[]) state; super.restoreState(context, values[0]); setAllowQueryConfig((Boolean) values[1]); setBaseScriptUri((String) values[2]); setBindEncoding((String) values[3]); setDebug((Boolean) values[4]); setDebugContainerId((String) values[5]); setIgnoreClassNames((Boolean) values[6]); setIoSendTransport((String) values[7]); setParseWidgets((Boolean) values[8]); setPreventBackButtonFix((Boolean) values[9]); setSearchIds((String) values[10]); _require = (String) values[11]; _provide = (String) values[12]; _debugConsole = (Boolean) values[13]; setDebugAtAllCosts((Boolean) values[14]); _expanded = (Boolean) values[15]; _development = (Boolean) values[16]; } public Object saveState(FacesContext context) { Object[] values = new Object[17]; values[0] = super.saveState(context); values[1] = _dojoConfig.getAllowQueryConfig(); values[2] = _dojoConfig.getBaseScriptUri(); values[3] = _dojoConfig.getBindEncoding(); values[4] = _dojoConfig.getDebug(); values[5] = _dojoConfig.getDebugContainerId(); values[6] = _dojoConfig.getIgnoreClassNames(); values[7] = _dojoConfig.getIoSendTransport(); values[8] = _dojoConfig.getParseWidgets(); values[9] = _dojoConfig.getPreventBackButtonFix(); values[10] = _dojoConfig.getSearchIds(); values[11] = _require; values[12] = _provide; values[13] = _debugConsole; values[14] = _dojoConfig.getDebugAtAllCosts(); values[15] = _expanded; values[16] = _development; return values; } public void setAllowQueryConfig(Boolean allowQueryConfig) { if (allowQueryConfig != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setAllowQueryConfig(allowQueryConfig); } _dojoConfig.setAllowQueryConfig(allowQueryConfig); } public void setBaseScriptUri(String baseScriptUri) { if (baseScriptUri != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setBaseScriptUri(baseScriptUri); } _dojoConfig.setBaseScriptUri(baseScriptUri); } public void setBindEncoding(String bindEncoding) { if (bindEncoding != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setBindEncoding(bindEncoding); } _dojoConfig.setBindEncoding(bindEncoding); } public void setDebug(Boolean debug) { if (debug != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setDebug(debug); } _dojoConfig.setDebug(debug); } public void setDebugAtAllCosts(Boolean debugAtAllCosts) { if (debugAtAllCosts != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setDebugAtAllCosts(debugAtAllCosts); } _dojoConfig.setDebugAtAllCosts(debugAtAllCosts); } public void setDebugConsole(Boolean debugConsole) { this._debugConsole = debugConsole; } public void setDebugContainerId(String debugContainerId) { if (debugContainerId != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setDebugContainerId(debugContainerId); } _dojoConfig.setDebugContainerId(debugContainerId); } public void setDojoConfigParamSet(boolean dojoConfigParamSet) { this.dojoConfigParamSet = dojoConfigParamSet; } public void setExpanded(Boolean expanded) { //we have a logical or over all expanded tags if (expanded != null) { dojoConfigParamSet = true; DojoUtils.setExpanded(FacesContext.getCurrentInstance(), expanded); } _expanded = expanded; } public void setIgnoreClassNames(Boolean ignoreClassNames) { if (ignoreClassNames != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setIgnoreClassNames(ignoreClassNames); } _dojoConfig.setIgnoreClassNames(ignoreClassNames); } public void setIoSendTransport(String ioSendTransport) { if (ioSendTransport != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setIoSendTransport(ioSendTransport); } _dojoConfig.setIoSendTransport(ioSendTransport); } public void setParseWidgets(Boolean parseWidgets) { if (parseWidgets != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setParseWidgets(parseWidgets); } _dojoConfig.setParseWidgets(parseWidgets); } public void setPreventBackButtonFix(Boolean preventBackButtonFix) { if (preventBackButtonFix != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setPreventBackButtonFix(preventBackButtonFix); } _dojoConfig.setPreventBackButtonFix(preventBackButtonFix); } public void setProvide(String provide) { this._provide = provide; } public void setRequire(String required) { this._require = required; } public void setSearchIds(String searchIds) { if (searchIds != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setSearchIds(searchIds); } _dojoConfig.setSearchIds(searchIds); } public void setDevelopment(Boolean development) { if (development != null) { dojoConfigParamSet = true; DojoUtils.getDjConfigInstance(FacesContext.getCurrentInstance()).setDevelopment(development); } _development = development; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy