blob: 0be3c3f5701cc7495e91e6d9acfb00f10059b952 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010-2011 Composent, Inc. and others. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Composent, Inc. - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.osgi.services.remoteserviceadmin;
import org.eclipse.ecf.core.identity.Namespace;
import org.eclipse.ecf.discovery.identity.IServiceID;
/**
* Discovered endpoint description. Instances of this class represent discovered
* endpoint descriptions that were discovered by a particular discovery locator
* namespace. Instances of this class are typically created via a {@link IDiscoveredEndpointDescriptionFactory}.
*
* @see IDiscoveredEndpointDescriptionFactory
*/
public class DiscoveredEndpointDescription {
private Namespace discoveryLocatorNamespace;
private IServiceID serviceID;
private org.osgi.service.remoteserviceadmin.EndpointDescription endpointDescription;
private int hashCode = 7;
public DiscoveredEndpointDescription(
Namespace discoveryLocatorNamespace,
IServiceID serviceID,
org.osgi.service.remoteserviceadmin.EndpointDescription endpointDescription) {
this.discoveryLocatorNamespace = discoveryLocatorNamespace;
this.serviceID = serviceID;
this.endpointDescription = endpointDescription;
this.hashCode = 31 * this.hashCode
+ discoveryLocatorNamespace.getName().hashCode();
this.hashCode = 31 * this.hashCode + endpointDescription.hashCode();
}
public int hashCode() {
return hashCode;
}
public boolean equals(Object other) {
if (other == null)
return false;
if (other == this)
return true;
if (!(other instanceof DiscoveredEndpointDescription))
return false;
DiscoveredEndpointDescription o = (DiscoveredEndpointDescription) other;
return (this.discoveryLocatorNamespace
.equals(o.discoveryLocatorNamespace) && this.endpointDescription
.equals(o.endpointDescription));
}
public Namespace getDiscoveryLocatorNamespace() {
return discoveryLocatorNamespace;
}
public IServiceID getServiceID() {
return serviceID;
}
public org.osgi.service.remoteserviceadmin.EndpointDescription getEndpointDescription() {
return endpointDescription;
}
}