org.eclipse.equinox.log.LogPermission Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2009, 2011 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
******************************************************************************/
package org.eclipse.equinox.log;
import java.security.Permission;
import java.security.PermissionCollection;
/**
* Indicates a bundle's authority to log on behalf of other bundles.
*
* This permission has only a single action: LOG.
*
* @ThreadSafe
* @since 3.7
*/
public class LogPermission extends Permission {
private static final long serialVersionUID = -441193976837153362L;
private static final String ALL = "*"; //$NON-NLS-1$
/**
* The action string log
.
*/
public static final String LOG = "log"; //$NON-NLS-1$
/**
* Create a new LogPermission.
*
* @param name Name must be "*".
* @param actions log
or "*".
*/
public LogPermission(String name, String actions) {
super(name);
if (!name.equals(ALL))
throw new IllegalArgumentException("name must be *"); //$NON-NLS-1$
actions = actions.trim();
if (!actions.equalsIgnoreCase(LOG) && !actions.equals(ALL))
throw new IllegalArgumentException("actions must be * or log"); //$NON-NLS-1$
}
@Override
public boolean equals(Object obj) {
return obj instanceof LogPermission;
}
@Override
public String getActions() {
return LOG;
}
@Override
public int hashCode() {
return LogPermission.class.hashCode();
}
@Override
public boolean implies(Permission permission) {
return permission instanceof LogPermission;
}
@Override
public PermissionCollection newPermissionCollection() {
return new LogPermissionCollection();
}
}