diff options
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/RosterResource.java')
-rw-r--r-- | framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/RosterResource.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/RosterResource.java b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/RosterResource.java new file mode 100644 index 000000000..42c88e0f8 --- /dev/null +++ b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/RosterResource.java @@ -0,0 +1,55 @@ +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; + } + +} |