diff options
Diffstat (limited to 'bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java')
-rw-r--r-- | bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java index 4f9324c0e..c2d45ff15 100644 --- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java +++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java @@ -1,5 +1,5 @@ /* - * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved. + * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,7 +54,7 @@ import java.util.Map; * deprecated, implies the {@code import} action. * * @ThreadSafe - * @version $Id$ + * @author $Id$ */ public final class PackagePermission extends BasicPermission { @@ -372,6 +372,7 @@ public final class PackagePermission extends BasicPermission { * @return {@code true} if the specified permission is implied by this * object; {@code false} otherwise. */ + @Override public boolean implies(Permission p) { if (!(p instanceof PackagePermission)) { return false; @@ -424,6 +425,7 @@ public final class PackagePermission extends BasicPermission { * @return Canonical string representation of the {@code PackagePermission} * actions. */ + @Override public String getActions() { String result = actions; if (result == null) { @@ -453,6 +455,7 @@ public final class PackagePermission extends BasicPermission { * * @return A new {@code PermissionCollection} object. */ + @Override public PermissionCollection newPermissionCollection() { return new PackagePermissionCollection(); } @@ -470,6 +473,7 @@ public final class PackagePermission extends BasicPermission { * has the same package name and actions as this * {@code PackagePermission} object; {@code false} otherwise. */ + @Override public boolean equals(Object obj) { if (obj == this) { return true; @@ -489,6 +493,7 @@ public final class PackagePermission extends BasicPermission { * * @return A hash code value for this object. */ + @Override public int hashCode() { int h = 31 * 17 + getName().hashCode(); h = 31 * h + getActions().hashCode(); @@ -538,8 +543,8 @@ public final class PackagePermission extends BasicPermission { final Map<String, Object> map = new HashMap<String, Object>(5); map.put("package.name", getName()); if (bundle != null) { - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { + AccessController.doPrivileged(new PrivilegedAction<Void>() { + public Void run() { map.put("id", new Long(bundle.getBundleId())); map.put("location", bundle.getLocation()); String name = bundle.getSymbolicName(); @@ -609,6 +614,7 @@ final class PackagePermissionCollection extends PermissionCollection { * @throws SecurityException If this {@code PackagePermissionCollection} * object has been marked read-only. */ + @Override public void add(final Permission permission) { if (!(permission instanceof PackagePermission)) { throw new IllegalArgumentException("invalid permission: " + permission); @@ -665,6 +671,7 @@ final class PackagePermissionCollection extends PermissionCollection { * @return {@code true} if {@code permission} is a proper subset of a * permission in the set; {@code false} otherwise. */ + @Override public boolean implies(final Permission permission) { if (!(permission instanceof PackagePermission)) { return false; @@ -743,6 +750,7 @@ final class PackagePermissionCollection extends PermissionCollection { * * @return Enumeration of all {@code PackagePermission} objects. */ + @Override public synchronized Enumeration<Permission> elements() { List<Permission> all = new ArrayList<Permission>(permissions.values()); Map<String, PackagePermission> pc = filterPermissions; @@ -767,9 +775,11 @@ final class PackagePermissionCollection extends PermissionCollection { private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { ObjectInputStream.GetField gfields = in.readFields(); + @SuppressWarnings("unchecked") Hashtable<String, PackagePermission> hashtable = (Hashtable<String, PackagePermission>) gfields.get("permissions", null); permissions = new HashMap<String, PackagePermission>(hashtable); all_allowed = gfields.get("all_allowed", false); + @SuppressWarnings("unchecked") HashMap<String, PackagePermission> fp = (HashMap<String, PackagePermission>) gfields.get("filterPermissions", null); filterPermissions = fp; } |