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