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
/******************************************************************************* * 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; import java.util.Enumeration; import java.util.NoSuchElementException;
Stores a set of LogPermission permissions.
See Also:
@ThreadSafe
Since:3.7
/** * Stores a set of <code>LogPermission</code> permissions. * * @ThreadSafe * @see java.security.Permission * @see java.security.Permissions * @see java.security.PermissionCollection * @since 3.7 */
public final class LogPermissionCollection extends PermissionCollection { private static final long serialVersionUID = -1955409691185916778L; LogPermission logPermission; @Override public void add(Permission permission) { if (!(permission instanceof LogPermission)) throw new IllegalArgumentException("invalid permission: " + permission); //$NON-NLS-1$ if (isReadOnly()) throw new SecurityException("attempt to add a LogPermission to a readonly LogPermissionCollection"); //$NON-NLS-1$ if (permission != null) logPermission = (LogPermission) permission; } @Override public Enumeration<Permission> elements() { return new Enumeration<Permission>() { private boolean hasMore = (logPermission != null); @Override public boolean hasMoreElements() { return hasMore; } @Override public Permission nextElement() { if (hasMore) { hasMore = false; return logPermission; } throw new NoSuchElementException(); } }; } @Override public boolean implies(Permission permission) { return logPermission != null && logPermission.implies(permission); } }