| /******************************************************************************* |
| * Copyright (c) 2011, 2017 WindRiver Corporation and others. |
| * |
| * This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * WindRiver Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.equinox.internal.p2.importexport; |
| |
| import java.net.URI; |
| import java.util.List; |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.equinox.p2.metadata.IInstallableUnit; |
| |
| public class IUDetail implements IAdaptable { |
| |
| private final IInstallableUnit iu; |
| private final List<URI> referredRepo; |
| |
| public IUDetail(IInstallableUnit iu, List<URI> uris) { |
| this.iu = iu; |
| referredRepo = uris; |
| } |
| |
| public IInstallableUnit getIU() { |
| return iu; |
| } |
| |
| public List<URI> getReferencedRepositories() { |
| return referredRepo; |
| } |
| |
| @Override |
| @SuppressWarnings("unchecked") |
| public <T> T getAdapter(Class<T> adapter) { |
| if (IInstallableUnit.class.equals(adapter)) |
| return (T) iu; |
| return null; |
| } |
| |
| @Override |
| public boolean equals(Object obj) { |
| if (this == obj) |
| return true; |
| if (obj instanceof IUDetail) { |
| if (iu.equals(((IUDetail) obj).getIU())) |
| return true; |
| } |
| return false; |
| } |
| |
| @Override |
| public int hashCode() { |
| return iu.hashCode(); |
| } |
| |
| @Override |
| public String toString() { |
| StringBuilder sb = new StringBuilder(); |
| if (iu != null) { |
| sb.append("iu="); //$NON-NLS-1$ |
| sb.append(iu); |
| sb.append(", "); //$NON-NLS-1$ |
| } |
| if (referredRepo != null) { |
| sb.append("referredRepo="); //$NON-NLS-1$ |
| sb.append(referredRepo); |
| } |
| sb.append("]"); //$NON-NLS-1$ |
| return sb.toString(); |
| } |
| } |