/* * @(#)CreateSourceThreadAction.java 1.3 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media; import java.lang.reflect.Method; import java.lang.reflect.Constructor; /** * The reason this class is in this package and not util is because * it is used to create SourceThread in BasicSourceModule * which is a package private classes. * These cannot be instantiated from the util package */ public class CreateSourceThreadAction implements java.security.PrivilegedAction { private Class sourceThreadClass; private BasicSourceModule bsm; private Object myoc; private int i; static Constructor cons; static { try { cons = CreateSourceThreadAction.class.getConstructor(new Class[] { Class.class, BasicSourceModule.class, Object.class, int.class}); } catch (Throwable e) { } } public CreateSourceThreadAction(Class sourceThreadClass, BasicSourceModule bsm, Object myoc, int i) { try { this.sourceThreadClass = sourceThreadClass; this.bsm = bsm; this.myoc = myoc; this.i = i; } catch (Throwable e) { } } public Object run() { try { Constructor cons = sourceThreadClass.getConstructor(new Class[] {BasicSourceModule.class, myoc.getClass(), int.class}); Object object = cons.newInstance(new Object[] { bsm, myoc, new Integer(i)}); return object; } catch (Throwable e) { return null; } } }