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

org.directwebremoting.extend.RealScriptSession Maven / Gradle / Ivy

Go to download

DWR is easy Ajax for Java. It makes it simple to call Java code directly from Javascript. It gets rid of almost all the boiler plate code between the web browser and your Java code.

There is a newer version: 3.0.2-RELEASE
Show newest version
/*
 * Copyright 2005 Joe Walker
 *
 * Licensed 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.directwebremoting.extend;

import java.io.IOException;

import org.directwebremoting.ScriptSession;

/**
 * RealScriptSession is the real interface that should be implemented in place
 * of ScriptSession. It includes methods required by the guts of DWR, that are
 * not needed by normal users.
 * @author Joe Walker [joe at getahead dot ltd dot uk]
 */
public interface RealScriptSession extends ScriptSession
{
    /**
     * While a Marshaller is processing a request it can register a
     * ScriptConduit with the ScriptSession to say - "pass scripts to me"
     * 

* Several Marshallers may be active on the same page as a time and it * doesn't really matter which gets the script. So ScriptSession should * record all of the active ScriptConduits, but just pick one * @param conduit The new ScriptConduit * @throws IOException If the write to the output fails * @see RealScriptSession#removeScriptConduit(ScriptConduit) */ void addScriptConduit(ScriptConduit conduit) throws IOException; /** * Remove a ScriptConduit. * @param conduit The ScriptConduit to remove * @see RealScriptSession#addScriptConduit(ScriptConduit) */ void removeScriptConduit(ScriptConduit conduit); /** * We might need to send a script directly to a conduit without adding the * conduit to the "open" list and then removing it directly. * @param conduit The conduit to write to * @throws IOException If writing fails */ void writeScripts(ScriptConduit conduit) throws IOException; /** * Allows for checking to see if there is data waiting to be returned * @return true if there are no waiting scripts */ boolean hasWaitingScripts(); /** * Accessor for an object that we use to announce to people that might be * waiting on output from this ScriptSession that there is some output * ready for action. * TODO: Replace this with a listener mechanism * @return The mutex object used by the script session */ Object getScriptLock(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy