Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java55
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;
+ }
+
+}

Back to the top