001: /*
002: * $Id: org.eclipse.jdt.ui.prefs 5004 2006-03-17 20:47:08 -0800 (Fri, 17 Mar
003: * 2006) eelco12 $ $Revision: 5004 $ $Date: 2006-03-17 20:47:08 -0800 (Fri, 17
004: * Mar 2006) $
005: *
006: * ==============================================================================
007: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
008: * use this file except in compliance with the License. You may obtain a copy of
009: * the License at
010: *
011: * http://www.apache.org/licenses/LICENSE-2.0
012: *
013: * Unless required by applicable law or agreed to in writing, software
014: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
015: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
016: * License for the specific language governing permissions and limitations under
017: * the License.
018: */
019: package wicket.ajax.calldecorator;
020:
021: import wicket.ajax.IAjaxCallDecorator;
022:
023: /**
024: * Ajax call decorator that decorates script after allowing the wrapped delegate
025: * decorator to decorate it first.
026: *
027: * @see IAjaxCallDecorator for notes on escaping quotes in scripts
028: *
029: * @since 1.2
030: *
031: * @author Igor Vaynberg (ivaynberg)
032: */
033: public abstract class AjaxPostprocessingCallDecorator implements
034: IAjaxCallDecorator {
035: private final IAjaxCallDecorator delegate;
036:
037: /**
038: * Construct.
039: *
040: * @param delegate
041: * wrapped delegate decorator
042: */
043: public AjaxPostprocessingCallDecorator(IAjaxCallDecorator delegate) {
044: this .delegate = delegate;
045: }
046:
047: /**
048: * @see wicket.ajax.IAjaxCallDecorator#decorateScript(CharSequence)
049: */
050: public final CharSequence decorateScript(CharSequence script) {
051: CharSequence s = (delegate == null) ? script : delegate
052: .decorateScript(script);
053: return postDecorateScript(s);
054: }
055:
056: /**
057: * @see wicket.ajax.IAjaxCallDecorator#decorateOnSuccessScript(java.lang.String)
058: */
059: public final CharSequence decorateOnSuccessScript(
060: CharSequence script) {
061: CharSequence s = (delegate == null) ? script : delegate
062: .decorateOnSuccessScript(script);
063: return postDecorateOnSuccessScript(s);
064: }
065:
066: /**
067: * @see wicket.ajax.IAjaxCallDecorator#decorateOnFailureScript(java.lang.String)
068: */
069: public final CharSequence decorateOnFailureScript(
070: CharSequence script) {
071: CharSequence s = (delegate == null) ? script : delegate
072: .decorateOnFailureScript(script);
073: return postDecorateOnFailureScript(s);
074: }
075:
076: /**
077: * Decorates ajax call script
078: *
079: * @param script
080: * @return decorated script
081: */
082: public CharSequence postDecorateScript(CharSequence script) {
083: return script;
084: }
085:
086: /**
087: * Decorates the success handling script
088: *
089: * @param script
090: * @return decorated script
091: */
092: public CharSequence postDecorateOnSuccessScript(CharSequence script) {
093: return script;
094: }
095:
096: /**
097: * Decorates the failure handling script
098: *
099: * @param script
100: * @return decorated script
101: */
102: public CharSequence postDecorateOnFailureScript(CharSequence script) {
103: return script;
104: }
105:
106: }
|