You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by sa...@apache.org on 2010/10/27 10:50:00 UTC
svn commit: r1027856 - in /click/trunk/click/framework/src/org/apache/click:
ActionEventDispatcher.java Behavior.java ClickServlet.java
ajax/AjaxBehavior.java ajax/DefaultAjaxBehavior.java ajax/package.html
control/AbstractControl.java
Author: sabob
Date: Wed Oct 27 08:49:59 2010
New Revision: 1027856
URL: http://svn.apache.org/viewvc?rev=1027856&view=rev
Log:
Moved Ajax functionality into AjaxBehavior
Added:
click/trunk/click/framework/src/org/apache/click/ajax/DefaultAjaxBehavior.java
- copied, changed from r978886, click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java
click/trunk/click/framework/src/org/apache/click/ajax/package.html (with props)
Modified:
click/trunk/click/framework/src/org/apache/click/ActionEventDispatcher.java
click/trunk/click/framework/src/org/apache/click/Behavior.java
click/trunk/click/framework/src/org/apache/click/ClickServlet.java
click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java
click/trunk/click/framework/src/org/apache/click/control/AbstractControl.java
Modified: click/trunk/click/framework/src/org/apache/click/ActionEventDispatcher.java
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/ActionEventDispatcher.java?rev=1027856&r1=1027855&r2=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/ActionEventDispatcher.java (original)
+++ click/trunk/click/framework/src/org/apache/click/ActionEventDispatcher.java Wed Oct 27 08:49:59 2010
@@ -24,6 +24,7 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import org.apache.click.ajax.AjaxBehavior;
import org.apache.click.service.ConfigService;
import org.apache.click.service.LogService;
import org.apache.click.util.HtmlStringBuffer;
@@ -31,8 +32,8 @@ import org.apache.commons.lang.ClassUtil
import org.apache.commons.lang.Validate;
/**
- * Provides a control ActionListener and Behavior dispatcher. The
- * ClickServlet will dispatch registered ActionListeners and Behaviors after
+ * Provides a control ActionListener and AjaxBehavior dispatcher. The
+ * ClickServlet will dispatch registered ActionListeners and AjaxBehaviors after
* page controls have been processed.
*
* <h4>Example Usage</h4>
@@ -79,8 +80,8 @@ public class ActionEventDispatcher {
/** The list of registered event listeners. */
List<ActionListener> eventListenerList;
- /** The set of Controls with attached Behaviors. */
- Set<Control> behaviorSourceSet;
+ /** The set of Controls with attached AjaxBehaviors. */
+ Set<Control> ajaxBehaviorSourceSet;
/**
* The {@link org.apache.click.ActionResult} to render. This action result is
@@ -115,16 +116,16 @@ public class ActionEventDispatcher {
}
/**
- * Register the source control which behaviors should be fired by the
+ * Register the source control which AjaxBehaviors should be fired by the
* ClickServlet.
*
* @param source the source control which behaviors should be fired
*/
- public static void dispatchBehaviors(Control source) {
+ public static void dispatchAjaxBehaviors(Control source) {
Validate.notNull(source, "Null source parameter");
ActionEventDispatcher instance = getThreadLocalDispatcher();
- instance.registerBehaviorSource(source);
+ instance.registerAjaxBehaviorSource(source);
}
/**
@@ -145,22 +146,22 @@ public class ActionEventDispatcher {
}
/**
- * Fire all the registered behaviors after the Page Controls have been
- * processed and return true if the page should continue processing.
+ * Fire all the registered AjaxBehaviors and return true if the page should
+ * continue processing, false otherwise.
*
- * @see #fireBehaviors(org.apache.click.Context, java.util.Set)
+ * @see #fireAjaxBehaviors(org.apache.click.Context, java.util.Set)
*
* @param context the request context
*
* @return true if the page should continue processing, false otherwise
*/
- public boolean fireBehaviors(Context context) {
+ public boolean fireAjaxBehaviors(Context context) {
- if (!hasBehaviorSourceSet()) {
+ if (!hasAjaxBehaviorSourceSet()) {
return true;
}
- return fireBehaviors(context, getBehaviorSourceSet());
+ return fireAjaxBehaviors(context, getAjaxBehaviorSourceSet());
}
// Protected Methods ------------------------------------------------------
@@ -235,30 +236,30 @@ public class ActionEventDispatcher {
}
/**
- * Fire the behaviors for the given control set and return true if the page
+ * Fire the AjaxBehaviors for the given control set and return true if the page
* should continue processing, false otherwise.
* <p/>
- * This method can be overridden if you need to customize the way behaviors
- * are fired.
+ * This method can be overridden if you need to customize the way
+ * AjaxBehaviors are fired.
*
- * @see #fireBehavior(org.apache.click.Context, org.apache.click.Control)
+ * @see #fireAjaxBehaviors(org.apache.click.Context, org.apache.click.Control)
*
* @param context the request context
- * @param behaviorSourceSet the set of controls with attached behaviors
+ * @param ajaxBbehaviorSourceSet the set of controls with attached AjaxBehaviors
*
* @return true if the page should continue processing, false otherwise
*/
- protected boolean fireBehaviors(Context context, Set<Control> behaviorSourceSet) {
+ protected boolean fireAjaxBehaviors(Context context, Set<Control> ajaxBbehaviorSourceSet) {
boolean continueProcessing = true;
- for (Iterator<Control> it = behaviorSourceSet.iterator(); it.hasNext();) {
+ for (Iterator<Control> it = ajaxBbehaviorSourceSet.iterator(); it.hasNext();) {
Control source = it.next();
// Pop the first entry in the set
it.remove();
- if (!fireBehavior(context, source)) {
+ if (!fireAjaxBehaviors(context, source)) {
continueProcessing = false;
}
}
@@ -267,18 +268,20 @@ public class ActionEventDispatcher {
}
/**
- * Fire the behavior for the given control and return true if the page
- * should continue processing, false otherwise.
+ * Fire the AjaxBehaviors for the given control and return true if the
+ * page should continue processing, false otherwise. AjaxBehaviors will
+ * only fire if their {@link org.apache.click.ajax.AjaxBehavior#isAjaxTarget(org.apache.click.Context) isAjaxTarget()}
+ * method returns true.
* <p/>
- * This method can be overridden if you need to customize the way behaviors
- * are fired.
+ * This method can be overridden if you need to customize the way
+ * AjaxBehaviors are fired.
*
* @param context the request context
* @param source the control which attached behaviors should be fired
*
* @return true if the page should continue processing, false otherwise
*/
- protected boolean fireBehavior(Context context, Control source) {
+ protected boolean fireAjaxBehaviors(Context context, Control source) {
boolean continueProcessing = true;
@@ -293,71 +296,85 @@ public class ActionEventDispatcher {
for (Behavior behavior : source.getBehaviors()) {
- boolean isRequestTarget = behavior.isRequestTarget(context);
-
- if (logger.isTraceEnabled()) {
- String behaviorClassName = ClassUtils.getShortClassName(behavior.getClass());
- HtmlStringBuffer buffer = new HtmlStringBuffer();
- buffer.append(" invoked: ");
- buffer.append(behaviorClassName);
- buffer.append(".isRequestTarget() : ");
- buffer.append(isRequestTarget);
- logger.trace(buffer.toString());
- }
+ if (behavior instanceof AjaxBehavior) {
+ AjaxBehavior ajaxBehavior = (AjaxBehavior) behavior;
- if (isRequestTarget) {
+ boolean isAjaxTarget = ajaxBehavior.isAjaxTarget(context);
- // The first non-null ActionResult returned will be rendered, other
- // ActionResult instances are ignored
- ActionResult behaviorActionResult = behavior.onAction(source);
- if (actionResult == null && behaviorActionResult != null) {
- actionResult = behaviorActionResult;
+ if (logger.isTraceEnabled()) {
+ String behaviorClassName = ClassUtils.getShortClassName(
+ ajaxBehavior.getClass());
+ HtmlStringBuffer buffer = new HtmlStringBuffer();
+ buffer.append(" invoked: ");
+ buffer.append(behaviorClassName);
+ buffer.append(".isAjaxTarget() : ");
+ buffer.append(isAjaxTarget);
+ logger.trace(buffer.toString());
}
- if (logger.isTraceEnabled()) {
- String behaviorClassName = ClassUtils.getShortClassName(behavior.getClass());
- String actionResultClassName = null;
+ if (isAjaxTarget) {
- if (behaviorActionResult != null) {
- actionResultClassName = ClassUtils.getShortClassName(behaviorActionResult.getClass());
+ // The first non-null ActionResult returned will be rendered, other
+ // ActionResult instances are ignored
+ ActionResult behaviorActionResult =
+ ajaxBehavior.onAction(source);
+ if (actionResult == null && behaviorActionResult != null) {
+ actionResult = behaviorActionResult;
}
- HtmlStringBuffer buffer = new HtmlStringBuffer();
- buffer.append(" invoked: ");
- buffer.append(behaviorClassName);
- buffer.append(".onAction() : ");
- buffer.append(actionResultClassName);
+ if (logger.isTraceEnabled()) {
+ String behaviorClassName = ClassUtils.getShortClassName(
+ ajaxBehavior.getClass());
+ String actionResultClassName = null;
+
+ if (behaviorActionResult != null) {
+ actionResultClassName = ClassUtils.getShortClassName(
+ behaviorActionResult.getClass());
+ }
- if (actionResult == behaviorActionResult && behaviorActionResult != null) {
- buffer.append(" (ActionResult will be rendered)");
- } else {
- if (behaviorActionResult == null) {
- buffer.append(" (ActionResult is null and will be ignored)");
+ HtmlStringBuffer buffer = new HtmlStringBuffer();
+ buffer.append(" invoked: ");
+ buffer.append(behaviorClassName);
+ buffer.append(".onAction() : ");
+ buffer.append(actionResultClassName);
+
+ if (actionResult == behaviorActionResult
+ && behaviorActionResult != null) {
+ buffer.append(" (ActionResult will be rendered)");
} else {
- buffer.append(" (ActionResult will be ignored since another Behavior already retuned a non-null ActionResult)");
+ if (behaviorActionResult == null) {
+ buffer.append(" (ActionResult is null and will be ignored)");
+ } else {
+ buffer.append(" (ActionResult will be ignored since another AjaxBehavior already retuned a non-null ActionResult)");
+ }
}
+
+ logger.trace(buffer.toString());
}
- logger.trace(buffer.toString());
+ continueProcessing = false;
+ break;
}
-
- continueProcessing = false;
- break;
}
}
if (logger.isTraceEnabled()) {
- // Provide trace if no target behavior was found
- if (continueProcessing) {
+ //if (hasAjaxBehavior) {
+
+ // continueProcessing is true if no AjaxBehavior was the target
+ // of the request
+ if (continueProcessing) {
HtmlStringBuffer buffer = new HtmlStringBuffer();
- String sourceClassName = ClassUtils.getShortClassName(source.getClass());
- buffer.append(" *no* target behavior found for '");
+ String sourceClassName = ClassUtils.getShortClassName(
+ source.getClass());
+ buffer.append(" *no* target AjaxBehavior found for '");
buffer.append(source.getName()).append("' ");
buffer.append(sourceClassName);
- buffer.append(" - invoking Behavior.isRequestTarget() returned false for all behaviors");
+ buffer.append(" - invoking AjaxBehavior.isAjaxTarget() returned false for all ajax behaviors");
logger.trace(buffer.toString());
}
+ //}
}
// Ajax requests stops further processing
@@ -381,14 +398,14 @@ public class ActionEventDispatcher {
}
/**
- * Register the behavior source control.
+ * Register the AjaxBehavior source control.
*
- * @param source the behavior source control
+ * @param source the AjaxBehavior source control
*/
- void registerBehaviorSource(Control source) {
+ void registerAjaxBehaviorSource(Control source) {
Validate.notNull(source, "Null source parameter");
- getBehaviorSourceSet().add(source);
+ getAjaxBehaviorSourceSet().add(source);
}
/**
@@ -436,8 +453,8 @@ public class ActionEventDispatcher {
getEventListenerList().clear();
}
- if (hasBehaviorSourceSet()) {
- getBehaviorSourceSet().clear();
+ if (hasAjaxBehaviorSourceSet()) {
+ getAjaxBehaviorSourceSet().clear();
}
}
@@ -451,27 +468,27 @@ public class ActionEventDispatcher {
}
/**
- * Return true if a control with behaviors was registered, false otherwise.
+ * Return true if a control with AjaxBehaviors was registered, false otherwise.
*
- * @return true if a control with behaviors was registered, false otherwise.
+ * @return true if a control with AjaxBehaviors was registered, false otherwise.
*/
- boolean hasBehaviorSourceSet() {
- if (behaviorSourceSet == null || behaviorSourceSet.isEmpty()) {
+ boolean hasAjaxBehaviorSourceSet() {
+ if (ajaxBehaviorSourceSet == null || ajaxBehaviorSourceSet.isEmpty()) {
return false;
}
return true;
}
/**
- * Return the set of controls with attached behaviors.
+ * Return the set of controls with attached AjaxBehaviors.
*
- * @return set of control with attached behaviors
+ * @return set of control with attached AjaxBehaviors
*/
- Set<Control> getBehaviorSourceSet() {
- if (behaviorSourceSet == null) {
- behaviorSourceSet = new LinkedHashSet<Control>();
+ Set<Control> getAjaxBehaviorSourceSet() {
+ if (ajaxBehaviorSourceSet == null) {
+ ajaxBehaviorSourceSet = new LinkedHashSet<Control>();
}
- return behaviorSourceSet;
+ return ajaxBehaviorSourceSet;
}
/**
Modified: click/trunk/click/framework/src/org/apache/click/Behavior.java
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/Behavior.java?rev=1027856&r1=1027855&r2=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/Behavior.java (original)
+++ click/trunk/click/framework/src/org/apache/click/Behavior.java Wed Oct 27 08:49:59 2010
@@ -20,18 +20,10 @@ package org.apache.click;
/**
* Behaviors provide a mechanism for changing how Controls behave at runtime.
- * Behaviors are added to a Control and uses interceptor methods to decorate and
- * enhance the source Control. Behaviors are most often used to add Ajax support
- * to Controls.
+ * Behaviors are added to a Control and provides interceptor methods to decorate
+ * and enhance the source Control.
* <p/>
- * To handle an Ajax request Behavior exposes the listener method: {@link #onAction(org.apache.click.Control) onAction}.
- * The <tt>onAction</tt> method returns an ActionResult that is rendered back
- * to the browser. Before Click invokes the <tt>onAction</tt> method it checks
- * whether the request is targeted at that Behavior by calling the method
- * {@link #isRequestTarget(org.apache.click.Context) Behavior.isRequestTarget()}.
- * Click will only invoke <tt>onAction</tt> if <tt>isRequestTarget</tt> returns true.
- * <p/>
- * Behaviors also provide interceptor methods for specific Control life cycle events.
+ * Behaviors provide interceptor methods for specific Control life cycle events.
* These interceptor methods can be implemented to further process and decorate
* the control or its children.
* <p/>
@@ -57,60 +49,6 @@ package org.apache.click;
public interface Behavior {
/**
- * The behavior action method.
- *
- * TODO: javadoc
- *
- * @param source the control the behavior is attached to
- * @return the action result instance
- */
- public ActionResult onAction(Control source);
-
- /**
- * Return true if the behavior is the request target, false otherwise.
- * <p/>
- * This method is queried by Click to determine if the behavior's
- * {@link #onAction(org.apache.click.Control)} method should be called in
- * response to a request.
- * <p/>
- * By exposing this method through the Behavior interface it provides
- * implementers with fine grained control over whether the Behavior's
- * {@link #onAction(org.apache.click.Control)} method should be invoked or not.
- * <p/>
- * Below is an example implementation:
- *
- * <pre class="prettyprint">
- * public CustomBehavior implements Behavior {
- *
- * private String eventType;
- *
- * public CustomBehavior(String eventType) {
- * // The event type of the behavior
- * super(eventType);
- * }
- *
- * public boolean isRequestTarget(Context context) {
- * // Retrieve the eventType parameter from the incoming request
- * String eventType = context.getRequestParameter("type");
- *
- * // Check if this Behavior's eventType matches the request
- * // "type" parameter
- * return StringUtils.equalsIgnoreCase(this.eventType, eventType);
- * }
- *
- * public ActionResult onAction(Control source) {
- * // If isRequestTarget returned true, the onAction method will be
- * // invoked
- * ...
- * }
- * } </pre>
- *
- * @param context the request context
- * @return true if the behavior is the request target, false otherwise
- */
- public boolean isRequestTarget(Context context);
-
- /**
* This event occurs before the markup is written to the HttpServletResponse.
*
* @param source the control the behavior is registered with
Modified: click/trunk/click/framework/src/org/apache/click/ClickServlet.java
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/ClickServlet.java?rev=1027856&r1=1027855&r2=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/ClickServlet.java (original)
+++ click/trunk/click/framework/src/org/apache/click/ClickServlet.java Wed Oct 27 08:49:59 2010
@@ -1832,10 +1832,10 @@ public class ClickServlet extends HttpSe
// Perform onProcess for regsitered Ajax controls
processAjaxTargetControls(context, eventDispatcher, controlRegistry);
- // Fire behaviors registered during the onProcess event
- // The target behavior will set the eventDispatcher action result instance
- // to render
- eventDispatcher.fireBehaviors(context);
+ // Fire AjaxBehaviors registered during the onProcess event
+ // The target AjaxBehavior will set the eventDispatcher action
+ // result instance to render
+ eventDispatcher.fireAjaxBehaviors(context);
// Ensure we execute the beforeResponse and beforeGetHeadElements
// for Ajax requests
@@ -1850,7 +1850,7 @@ public class ClickServlet extends HttpSe
} else {
// If no target Ajax controls have been registered fallback to
- // the old behavior or processing and rendering the page template
+ // the old behavior of processing and rendering the page template
if (logger.isTraceEnabled()) {
String msg = " *no* Ajax target controls have been registered."
+ " Will process the page as a normal non Ajax request.";
@@ -1920,8 +1920,8 @@ public class ClickServlet extends HttpSe
buffer.append(".onProcess() : ").append(continueProcessing);
logger.trace(buffer.toString());
- if (!eventDispatcher.hasBehaviorSourceSet()) {
- logger.trace(" *no* behavior was registered while processing the control");
+ if (!eventDispatcher.hasAjaxBehaviorSourceSet()) {
+ logger.trace(" *no* AjaxBehavior was registered while processing the control");
}
}
}
Modified: click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java?rev=1027856&r1=1027855&r2=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java (original)
+++ click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java Wed Oct 27 08:49:59 2010
@@ -18,78 +18,77 @@
*/
package org.apache.click.ajax;
-import java.io.Serializable;
+import org.apache.click.ActionResult;
import org.apache.click.Behavior;
import org.apache.click.Context;
import org.apache.click.Control;
-import org.apache.click.ActionResult;
/**
- * Provides an abstract implementation of the Behavior interface.
- *
- * TODO: javadoc
+ * AjaxBehavior extends the basic Behavior functionality to allow Controls to
+ * handle and process incoming Ajax requests.
+ * <p/>
+ * To handle an Ajax request, AjaxBehavior exposes the listener method:
+ * {@link #onAction(org.apache.click.Control) onAction}.
+ * The <tt>onAction</tt> method returns an ActionResult that is rendered back
+ * to the browser.
+ * <p/>
+ * Before Click invokes the <tt>onAction</tt> method it checks whether the request
+ * is targeted at the AjaxBehavior by invoking the method
+ * {@link #isAjaxTarget(org.apache.click.Context) Behavior.isAjaxTarget()}.
+ * Click will only invoke <tt>onAction</tt> if <tt>isAjaxTarget</tt> returns true.
*/
-public class AjaxBehavior implements Behavior, Serializable {
-
- // Constants --------------------------------------------------------------
-
- private static final long serialVersionUID = 1L;
-
- // Variables --------------------------------------------------------------
-
- protected boolean headElementsProcessed = false;
-
- // Behavior Methods--------------------------------------------------------
+public interface AjaxBehavior extends Behavior {
/**
- * @see org.apache.click.Behavior#onAction(org.apache.click.Control)
*
- * @param source the control the behavior is attached to
- * @return the action result
- */
- public ActionResult onAction(Control source) {
- return null;
- }
-
- /**
* TODO: javadoc
*
- * @param context
- * @return
+ * @param source the control the behavior is attached to
+ * @return the action result instance
*/
- public boolean isRequestTarget(Context context) {
- return true;
- }
-
- // Callback Methods -------------------------------------------------------
+ public ActionResult onAction(Control source);
/**
+ * Return true if the behavior is the request target, false otherwise.
+ * <p/>
+ * This method is queried by Click to determine if the behavior's
+ * {@link #onAction(org.apache.click.Control)} method should be called in
+ * response to a request.
+ * <p/>
+ * By exposing this method through the Behavior interface it provides
+ * implementers with fine grained control over whether the Behavior's
+ * {@link #onAction(org.apache.click.Control)} method should be invoked or not.
+ * <p/>
+ * Below is an example implementation:
*
- * @param source
+ * <pre class="prettyprint">
+ * public CustomBehavior implements Behavior {
+ *
+ * private String eventType;
+ *
+ * public CustomBehavior(String eventType) {
+ * // The event type of the behavior
+ * super(eventType);
+ * }
+ *
+ * public boolean isAjaxTarget(Context context) {
+ * // Retrieve the eventType parameter from the incoming request
+ * String eventType = context.getRequestParameter("type");
+ *
+ * // Check if this Behavior's eventType matches the request
+ * // "type" parameter
+ * return StringUtils.equalsIgnoreCase(this.eventType, eventType);
+ * }
+ *
+ * public ActionResult onAction(Control source) {
+ * // If isAjaxTarget returned true, the onAction method will be
+ * // invoked
+ * ...
+ * }
+ * } </pre>
+ *
+ * @param context the request context
+ * @return true if the behavior is the request target, false otherwise
*/
- public void preResponse(Control source) {
- }
-
- public void preGetHeadElements(Control source) {
- // Guard against adding HEAD elements to more than one control
- if (headElementsProcessed) {
- return;
- }
-
- addHeadElements(source);
-
- headElementsProcessed = true;
- }
-
- public void preDestroy(Control source) {
- headElementsProcessed = false;
- }
-
- // Protected methods ------------------------------------------------------
-
- protected void addHeadElements(Control source) {
- // Subclasses can override the default to add head specific elements
- // NOTE: if this method is ever made public the headElementsProcessed
- // check should be done here
- }
+ public boolean isAjaxTarget(Context context);
}
Copied: click/trunk/click/framework/src/org/apache/click/ajax/DefaultAjaxBehavior.java (from r978886, click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java)
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/ajax/DefaultAjaxBehavior.java?p2=click/trunk/click/framework/src/org/apache/click/ajax/DefaultAjaxBehavior.java&p1=click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java&r1=978886&r2=1027856&rev=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/ajax/AjaxBehavior.java (original)
+++ click/trunk/click/framework/src/org/apache/click/ajax/DefaultAjaxBehavior.java Wed Oct 27 08:49:59 2010
@@ -18,22 +18,17 @@
*/
package org.apache.click.ajax;
-import java.io.Serializable;
import org.apache.click.Behavior;
import org.apache.click.Context;
import org.apache.click.Control;
import org.apache.click.ActionResult;
/**
- * Provides an abstract implementation of the Behavior interface.
+ * Provides a default implementation of the AjaxBehavior interface.
*
* TODO: javadoc
*/
-public class AjaxBehavior implements Behavior, Serializable {
-
- // Constants --------------------------------------------------------------
-
- private static final long serialVersionUID = 1L;
+public class DefaultAjaxBehavior implements AjaxBehavior {
// Variables --------------------------------------------------------------
@@ -57,7 +52,7 @@ public class AjaxBehavior implements Beh
* @param context
* @return
*/
- public boolean isRequestTarget(Context context) {
+ public boolean isAjaxTarget(Context context) {
return true;
}
Added: click/trunk/click/framework/src/org/apache/click/ajax/package.html
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/ajax/package.html?rev=1027856&view=auto
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/ajax/package.html (added)
+++ click/trunk/click/framework/src/org/apache/click/ajax/package.html Wed Oct 27 08:49:59 2010
@@ -0,0 +1,29 @@
+<!--
+ 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.
+-->
+
+<body>
+Provides Ajax support for controls, allowing them to handle and respond to Ajax
+requests. This is achieved through the {@link org.apache.click.ajax.AjaxBehavior}
+interface which extends {@link org.apache.click.Behavior} and adds the
+{@link org.apache.click.ajax.AjaxBehavior#onAction(org.apache.click.Control)}
+method for handling Ajax requests.
+<p/>
+A default AjaxBehavior implementation is provided by the
+{@link org.apache.click.ajax.DefaultAjaxBehavior} class.
+</body>
\ No newline at end of file
Propchange: click/trunk/click/framework/src/org/apache/click/ajax/package.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Modified: click/trunk/click/framework/src/org/apache/click/control/AbstractControl.java
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/org/apache/click/control/AbstractControl.java?rev=1027856&r1=1027855&r2=1027856&view=diff
==============================================================================
--- click/trunk/click/framework/src/org/apache/click/control/AbstractControl.java (original)
+++ click/trunk/click/framework/src/org/apache/click/control/AbstractControl.java Wed Oct 27 08:49:59 2010
@@ -907,7 +907,7 @@ public abstract class AbstractControl im
* Dispatch an action event to the {@link org.apache.click.ActionEventDispatcher}.
*
* @see org.apache.click.ActionEventDispatcher#dispatchActionEvent(org.apache.click.Control, org.apache.click.ActionListener)
- * @see org.apache.click.ActionEventDispatcher#dispatchBehavior(org.apache.click.Control)
+ * @see org.apache.click.ActionEventDispatcher#dispatchAjaxBehaviors(org.apache.click.Control)
*/
protected void dispatchActionEvent() {
if (getActionListener() != null) {
@@ -915,7 +915,7 @@ public abstract class AbstractControl im
}
if (hasBehaviors()) {
- ActionEventDispatcher.dispatchBehaviors(this);
+ ActionEventDispatcher.dispatchAjaxBehaviors(this);
}
}