- /*
- * @(#)FallbackObjectCopierImpl.java 1.7 03/12/19
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.corba.se.impl.copyobject ;
-
- import com.sun.corba.se.spi.copyobject.ObjectCopier ;
- import com.sun.corba.se.spi.copyobject.ReflectiveCopyException ;
-
- /** Trys a first ObjectCopier. If the first throws a ReflectiveCopyException,
- * falls back and tries a second ObjectCopier.
- */
- public class FallbackObjectCopierImpl implements ObjectCopier
- {
- private ObjectCopier first ;
- private ObjectCopier second ;
-
- public FallbackObjectCopierImpl( ObjectCopier first,
- ObjectCopier second )
- {
- this.first = first ;
- this.second = second ;
- }
-
- public Object copy( Object src ) throws ReflectiveCopyException
- {
- try {
- return first.copy( src ) ;
- } catch (ReflectiveCopyException rce ) {
- // XXX log this fallback at a low level
- return second.copy( src ) ;
- }
- }
- }