134dd1e25SAndrew Rist /**************************************************************
234dd1e25SAndrew Rist  *
334dd1e25SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
434dd1e25SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
534dd1e25SAndrew Rist  * distributed with this work for additional information
634dd1e25SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
734dd1e25SAndrew Rist  * to you under the Apache License, Version 2.0 (the
834dd1e25SAndrew Rist  * "License"); you may not use this file except in compliance
934dd1e25SAndrew Rist  * with the License.  You may obtain a copy of the License at
1034dd1e25SAndrew Rist  *
1134dd1e25SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
1234dd1e25SAndrew Rist  *
1334dd1e25SAndrew Rist  * Unless required by applicable law or agreed to in writing,
1434dd1e25SAndrew Rist  * software distributed under the License is distributed on an
1534dd1e25SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
1634dd1e25SAndrew Rist  * KIND, either express or implied.  See the License for the
1734dd1e25SAndrew Rist  * specific language governing permissions and limitations
1834dd1e25SAndrew Rist  * under the License.
1934dd1e25SAndrew Rist  *
2034dd1e25SAndrew Rist  *************************************************************/
2134dd1e25SAndrew Rist 
2234dd1e25SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir import java.util.Vector;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir // __________ Implementation __________
27cdf0e10cSrcweir 
28cdf0e10cSrcweir /**
29cdf0e10cSrcweir  * We need a generic interface to forward any oneway uno interface method
30cdf0e10cSrcweir  * by using threads to the original object. Reason:
31*6b5a962bSmseidel  * It's not allowed to call synchronous back to the office if a java object
32cdf0e10cSrcweir  * was called in a oneway declared interface method. Then it must be
33*6b5a962bSmseidel  * executed asynchronous. To do so - a thread can be created which use this
34cdf0e10cSrcweir  * interface. It get the object, which whis to be called back and the type and
35cdf0e10cSrcweir  * parameter of the original request.
36cdf0e10cSrcweir  *
37cdf0e10cSrcweir  * @author     Andreas Schlüns
38cdf0e10cSrcweir  * @created    17.07.2002 08:09
39cdf0e10cSrcweir  */
40cdf0e10cSrcweir public interface IOnewayLink
41cdf0e10cSrcweir {
42cdf0e10cSrcweir     // _______________________________
43cdf0e10cSrcweir 
44cdf0e10cSrcweir     /**
45cdf0e10cSrcweir      * @param nRequest
46cdf0e10cSrcweir      *          The two user of this callback can define an unique number,
47cdf0e10cSrcweir      *          which identify the type of original interface method. So the called
48a893be29SPedro Giffuni      *          interface object can decide, which action will be necessary.
49cdf0e10cSrcweir      *
50cdf0e10cSrcweir      * @param lParams
51cdf0e10cSrcweir      *          If the original method used parameters, they will be coded here in
52cdf0e10cSrcweir      *          a generic way. Only the called interface object know (it depends
53cdf0e10cSrcweir      *          from the original request - see nRequest too), how this list must
54cdf0e10cSrcweir      *          be interpreted.
55cdf0e10cSrcweir      *          Note: Atomic types (e.g. int, long) will be transported as objects
56cdf0e10cSrcweir      *          too (Integer, Long)!
57cdf0e10cSrcweir      */
execOneway( int nRequest, Vector lParams )58cdf0e10cSrcweir     public abstract void execOneway( int nRequest, Vector lParams );
59cdf0e10cSrcweir }
60