• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Javassist, a Java-bytecode translator toolkit.
3  * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
4  *
5  * The contents of this file are subject to the Mozilla Public License Version
6  * 1.1 (the "License"); you may not use this file except in compliance with
7  * the License.  Alternatively, the contents of this file may be used under
8  * the terms of the GNU Lesser General Public License Version 2.1 or later,
9  * or the Apache License Version 2.0.
10  *
11  * Software distributed under the License is distributed on an "AS IS" basis,
12  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13  * for the specific language governing rights and limitations under the
14  * License.
15  */
16 
17 package javassist.util.proxy;
18 
19 /**
20  * The interface implemented by proxy classes.
21  * This interface is available only if the super class of the proxy object
22  * does not have a <code>getHandler()</code> method.  If the super class
23  * has <code>getHandler</code>, then <code>Proxy</code> interface is
24  * available.
25  *
26  * @see ProxyFactory
27  * @see Proxy
28  */
29 public interface ProxyObject extends Proxy {
30     /**
31      * Sets a handler.  It can be used for changing handlers
32      * during runtime.
33      */
34     @Override
setHandler(MethodHandler mi)35     void setHandler(MethodHandler mi);
36 
37     /**
38      * Get the handler.
39      * This can be used to access the underlying MethodHandler
40      * or to serialize it properly.
41      *
42      * @see ProxyFactory#getHandler(Proxy)
43      */
getHandler()44     MethodHandler getHandler();
45 }
46