View Javadoc

1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.jdiagnose.remote.template;
17  
18  import org.jdiagnose.remote.Agent;
19  import org.jdiagnose.remote.RemoteResultListener;
20  
21  /***
22   * @author jmccrindle
23   */
24  public class DiagnosticProxyFactory {
25      public Object createProxy(Agent agent, String name, Object delegate, 
26              RemoteResultListener listener, boolean filterSuccesses) {
27          return java.lang.reflect.Proxy.newProxyInstance(
28                  delegate.getClass().getClassLoader(),
29                  delegate.getClass().getInterfaces(),
30                  new DiagnosticProxy(agent, name, delegate, listener, filterSuccesses));
31      }
32      public Object createProxy(Agent agent, Object delegate, RemoteResultListener listener) {
33          return java.lang.reflect.Proxy.newProxyInstance(
34                  delegate.getClass().getClassLoader(),
35                  delegate.getClass().getInterfaces(),
36                  new DiagnosticProxy(agent, delegate.getClass().getName(), delegate, listener, false));
37      }
38  }