blob: 42c88e0f8627563799425ca2554d4b8d43daefb8 [file] [log] [blame]
package org.eclipse.ecf.presence.roster;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IAdapterManager;
import org.eclipse.ecf.internal.presence.PresencePlugin;
import org.eclipse.ecf.presence.IPresence;
/**
* @since 2.1
*/
public class RosterResource implements IRosterResource {
private String name;
private IRosterEntry parent;
private IPresence presence;
public RosterResource(IRosterEntry parent, String name, IPresence presence) {
Assert.isNotNull(parent);
this.parent = parent;
Assert.isNotNull(name);
this.name = name;
this.presence = presence;
}
public String getName() {
return name;
}
public IRosterItem getParent() {
return parent;
}
public IRoster getRoster() {
return parent.getRoster();
}
public Object getAdapter(Class adapter) {
if (adapter.isInstance(this)) {
return this;
}
IAdapterManager adapterManager = PresencePlugin.getDefault().getAdapterManager();
if (adapterManager == null)
return null;
return adapterManager.loadAdapter(this, adapter.getName());
}
public IPresence getPresence() {
return presence;
}
public void setPresence(IPresence presence) {
this.presence = presence;
}
}