/*******************************************************************************
* Copyright (c) 2004 Composent, Inc. and others. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Composent, Inc. - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.provider.remoteservice.generic;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.remoteservice.IRemoteServiceID;
import org.eclipse.ecf.remoteservice.IRemoteServiceReference;
public class RemoteServiceReferenceImpl implements IRemoteServiceReference {
protected RemoteServiceRegistrationImpl registration;
protected String clazz = null;
public RemoteServiceReferenceImpl(RemoteServiceRegistrationImpl registration) {
this.registration = registration;
}
public Object getProperty(String key) {
return registration.getProperty(key);
}
public String[] getPropertyKeys() {
return registration.getPropertyKeys();
}
public ID getContainerID() {
return registration.getContainerID();
}
public boolean isActive() {
return (registration != null);
}
protected synchronized void setInactive() {
registration = null;
clazz = null;
}
protected RemoteServiceRegistrationImpl getRegistration() {
return registration;
}
public String toString() {
StringBuffer buf = new StringBuffer("RemoteServiceReferenceImpl["); //$NON-NLS-1$
buf.append("registration=").append(getRegistration()).append("]"); //$NON-NLS-1$ //$NON-NLS-2$
return buf.toString();
}
/**
* @since 3.0
*/
public IRemoteServiceID getID() {
return registration.getID();
}
}