1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package org.apache.river.phoenix.dl; 20 21 import org.apache.river.proxy.MarshalledWrapper; 22 import java.rmi.Remote; 23 import java.rmi.RemoteException; 24 import java.rmi.activation.ActivationException; 25 import java.rmi.activation.ActivationID; 26 import java.rmi.activation.UnknownObjectException; 27 import net.jini.io.MarshalledInstance; 28 29 /** 30 * The activator used by {@link AID}. The {@link #activate activate} 31 * method returns the activated object's proxy as a {@link 32 * MarshalledInstance} wrapped in a {@link MarshalledWrapper} so that 33 * integrity can be verified on the enclosed proxy. 34 * 35 * @author Sun Microsystems, Inc. 36 * @since 2.0 37 **/ 38 public interface Activator extends Remote { 39 40 /** 41 * Returns a marshalled proxy wrapped in a 42 * <code>MarshalledWrapper</code> for the activated object 43 * corresponding to the specified activation identifier. 44 * 45 * @param id the activation identifier for the remote object 46 * @param force the value to pass to the <code>activate</code> method 47 * of the activation identifier 48 * @return the remote object's proxy as a <code>MarshalledInstance</code> 49 * wrapped in a <code>MarshalledWrapper</code> 50 * @throws ActivationException if object activation fails 51 * @throws UnknownObjectException if object is unknown (not registered) 52 * @throws RemoteException if remote call fails 53 **/ 54 MarshalledWrapper activate(ActivationID id, boolean force) 55 throws ActivationException, RemoteException; 56 57 58 }