com.sapportals.wcm.crt.component

Interface IProxy

All Superinterfaces:
IContextualizable, InvocationHandler

public interface IProxy
extends IContextualizable, InvocationHandler

An interface to mark a component as a proxy.

A proxy component processes a component's method invocations. invoke will be invoked on a proxy when a method is invoked on a component instance that it is associated with.

Proxies could implement invoke like in the following example:

 public Object invoke( Object proxy, Method m, Object[] args ) throws Throwable {
   Object result = null;

   try {
     ....preInvoke
     // call the method
     result = m.invoke( component, args );

   } catch( InvocationTargetException e ) {
     throw e.getTargetException();
   } catch( Exception e ) {
     getCategory().error( e.getMessage(), e );
     throw new RuntimeException( "unexpected invocation exception: " + e.getMessage() );
   } finally {
     ....postInvoke
   }
   return result;
 }
 

A proxy-armed component could be added during configuration time like in the following code example:

 DefaultConfiguration component = new DefaultConfiguration( IConfigConst.ELEMENTS.COMPONENT );
 component.setAttribute( IConfigConst.ATTRIBUTES.COMPONENT_CLASS, SomeComponent.class.getName() );
 component.setAttribute( IConfigConst.ATTRIBUTES.COMPONENT_KEY, "someKey" );
 component.setAttribute( IConfigConst.ATTRIBUTES.COMPONENT_PROXY, ProxyComponent.class.getName() );
 
Or during runtime like in the following example:
 getContainerManager().addChild( key, className, proxyName, config, params );
 

Copyright (c) SAP AG 2001-2002


Method Summary
 Class[] getInterfaces()
          Returns the interface closure the proxy implements
 
Methods inherited from interface com.sapportals.wcm.crt.component.IContextualizable
contextualize
 
Methods inherited from interface java.lang.reflect.InvocationHandler
invoke
 

Method Detail

getInterfaces

public Class[] getInterfaces()
Returns the interface closure the proxy implements

Returns:
interfaces


Copyright 2006 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.