1 19 package gcc.rmi.iiop; 20 21 public abstract class RemoteObject 22 { 23 public RemoteObject() 24 { 25 } 26 27 protected void registerMethods() 28 { 29 registerMethod( "_is_a", -1 ); 30 } 31 32 public void invoke( int id, byte[] objectKey, Object instance, ObjectInputStream input, ObjectOutputStream output ) 33 { 34 switch(id) 35 { 36 case -1: 37 { 38 output.writeBoolean(_is_a( objectKey ) ); 39 break; 40 } 41 } 42 } 43 44 public boolean _is_a( byte[] objectKey ) 45 { 46 String ids[] = getIds(); 47 boolean isa = false; 48 49 String id = new String( objectKey ); 50 51 if (ids != null && ids.length > 0) 52 { 53 int i; 54 for( i=0; i<ids.length && !isa; i++ ) 55 { 56 isa = ids[i].equals(id); 57 58 } 59 } 60 61 return isa; 62 } 63 64 public abstract String[] getIds(); 65 public abstract void registerMethod( String name, int id ); 66 } 67 | Popular Tags |