All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.osgi.service.resolver.DisabledInfo Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2007, 2012 IBM 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:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.osgi.service.resolver;

/**
 * A disabled info represents a policy decision to disable a bundle which exists in a {@link State}.
 * Bundles may be disabled by adding disabled info with the {@link State#addDisabledInfo(DisabledInfo)}
 * method and enabled by removing disabled info with the {@link State#removeDisabledInfo(DisabledInfo)} method.
 * A bundle is not considered to be enabled unless there are no disabled info objects for the bundle.
 * 

* While resolving the bundle if the {@link Resolver} encounters a {@link BundleDescription} which * has disabled info returned by {@link State#getDisabledInfos(BundleDescription)} then the bundle * must not be allowed to resolve and a ResolverError of type {@link ResolverError#DISABLED_BUNDLE} * must be added to the state. *

* @see State * @since 3.4 */ public final class DisabledInfo { private final String policyName; private final String message; private final BundleDescription bundle; /** * DisabledInfo constructor. * @param policyName the name of the policy * @param message the message, may be null * @param bundle the bundle */ public DisabledInfo(String policyName, String message, BundleDescription bundle) { if (policyName == null || bundle == null) throw new IllegalArgumentException(); this.policyName = policyName; this.message = message; this.bundle = bundle; } /** * Returns the name of the policy which disabled the bundle. * @return the name of the policy */ public String getPolicyName() { return policyName; } /** * Returns the message describing the reason the bundle is disabled. * @return the message */ public String getMessage() { return message; } /** * Returns the bundle which is disabled * @return the bundle which is disabled */ public BundleDescription getBundle() { return bundle; } @Override public boolean equals(Object obj) { if (obj == this) return true; if (!(obj instanceof DisabledInfo)) return false; DisabledInfo other = (DisabledInfo) obj; if (getBundle() == other.getBundle() && getPolicyName().equals(other.getPolicyName())) { if (getMessage() == null ? other.getMessage() == null : getMessage().equals(other.getMessage())) return true; } return false; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (bundle == null ? 0 : bundle.hashCode()); result = prime * result + (policyName == null ? 0 : policyName.hashCode()); result = prime * result + (message == null ? 0 : message.hashCode()); return result; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy