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