summaryrefslogtreecommitdiff
path: root/src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/RemoteObject.java
blob: 8a1f620b3fb3d8e7268c48806c0489eed43deacc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
   D-Bus Java Implementation
   Copyright (c) 2005-2006 Matthew Johnson

   This program is free software; you can redistribute it and/or modify it
   under the terms of either the GNU Lesser General Public License Version 2 or the
   Academic Free Licence Version 2.1.

   Full licence texts are included in the COPYING file with this program.
*/
package org.freedesktop.dbus;

class RemoteObject
{
   String busname;
   String objectpath;
   Class<? extends DBusInterface> iface;
   boolean autostart;
   public RemoteObject(String busname, String objectpath, Class<? extends DBusInterface> iface, boolean autostart)
   {
      this.busname = busname;
      this.objectpath = objectpath;
      this.iface = iface;
      this.autostart = autostart;
   }
   public boolean equals(Object o)
   {
      if (!(o instanceof RemoteObject)) return false;
      RemoteObject them = (RemoteObject) o;

      if (!them.objectpath.equals(this.objectpath)) return false;
      
      if (null == this.busname && null != them.busname) return false;
      if (null != this.busname && null == them.busname) return false;
      if (null != them.busname && !them.busname.equals(this.busname)) return false;
      
      if (null == this.iface && null != them.iface) return false;
      if (null != this.iface && null == them.iface) return false;
      if (null != them.iface && !them.iface.equals(this.iface)) return false;
      
      return true;
   }
   public int hashCode()
   {
      return (null == busname ? 0 : busname.hashCode()) + objectpath.hashCode() +
         (null == iface ? 0 : iface.hashCode());
   }
   public boolean autoStarting() { return autostart; }
   public String getBusName() { return busname; }
   public String getObjectPath() { return objectpath; }
   public Class<? extends DBusInterface>  getInterface() { return iface; }
   public String toString()
   {
      return busname+":"+objectpath+":"+iface;
   }
}