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; } }