My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
* Copyright 2008 Tim Jansen
*
* 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.actorsguildframework.internal;

import org.actorsguildframework.Actor;
import org.actorsguildframework.AsyncResult;
import org.actorsguildframework.immutable.SerializableFreezer;

/**
* Base class for generated classes to invoke a message-implementing method.
* @param <T> the result type
*/
public abstract class MessageCaller<T> {

/**
* Invokes the message method. Arguments that are Serializable and mutable
* will be wrapped as {@link SerializableFreezer}.
* @param instance the instance of the method
* @param arguments the arguments (partially wrapped as {@link SerializableFreezer})
* @return the result of the method
*/
public abstract AsyncResult<T> invoke(Actor instance, Object[] arguments);

/**
* Returns the name of the message that is being called by this class (
* method name or signature).
* @return the message name
*/
public abstract String getMessageName();
}

Change log

r43 by tjansen on Dec 19, 2008   Diff
missing copyright statements
Go to: 
Project members, sign in to write a code review

Older revisions

r8 by tjansen on Nov 22, 2008   Diff
fixed memory synchronization for
message input arguments.
r3 by tjansen on Nov 16, 2008   Diff
init
All revisions of this file

File info

Size: 1571 bytes, 43 lines
Powered by Google Project Hosting