src/share/classes/java/io/FilePermission.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 29,42 **** import java.util.Enumeration; import java.util.List; import java.util.ArrayList; import java.util.Vector; import java.util.Collections; - import java.io.ObjectStreamField; - import java.io.ObjectOutputStream; - import java.io.ObjectInputStream; - import java.io.IOException; import sun.security.util.SecurityConstants; /** * This class represents access to a file or directory. A FilePermission consists * of a pathname and a set of actions valid for that pathname. --- 29,38 ----
*** 422,443 **** } /** * Converts an actions String to an actions mask. * ! * @param action the action string. * @return the actions mask. */ private static int getMask(String actions) { int mask = NONE; // Null action valid? if (actions == null) { return mask; } ! // Check against use of constants (used heavily within the JDK) if (actions == SecurityConstants.FILE_READ_ACTION) { return READ; } else if (actions == SecurityConstants.FILE_WRITE_ACTION) { return WRITE; } else if (actions == SecurityConstants.FILE_EXECUTE_ACTION) { --- 418,441 ---- } /** * Converts an actions String to an actions mask. * ! * @param actions the action string. * @return the actions mask. */ private static int getMask(String actions) { int mask = NONE; // Null action valid? if (actions == null) { return mask; } ! ! // Use object identity comparison against known-interned strings for ! // performance benefit (these values are used heavily within the JDK). if (actions == SecurityConstants.FILE_READ_ACTION) { return READ; } else if (actions == SecurityConstants.FILE_WRITE_ACTION) { return WRITE; } else if (actions == SecurityConstants.FILE_EXECUTE_ACTION) {
*** 529,539 **** boolean seencomma = false; while (i >= matchlen && !seencomma) { switch(a[i-matchlen]) { case ',': seencomma = true; ! /*FALLTHROUGH*/ case ' ': case '\r': case '\n': case '\f': case '\t': break; default: throw new IllegalArgumentException( --- 527,537 ---- boolean seencomma = false; while (i >= matchlen && !seencomma) { switch(a[i-matchlen]) { case ',': seencomma = true; ! break; case ' ': case '\r': case '\n': case '\f': case '\t': break; default: throw new IllegalArgumentException(
*** 796,806 **** * container. * * @return an enumeration of all the FilePermission objects. */ ! public Enumeration elements() { // Convert Iterator into Enumeration synchronized (this) { return Collections.enumeration(perms); } } --- 794,804 ---- * container. * * @return an enumeration of all the FilePermission objects. */ ! public Enumeration<Permission> elements() { // Convert Iterator into Enumeration synchronized (this) { return Collections.enumeration(perms); } }
*** 841,859 **** } /* * Reads in a Vector of FilePermissions and saves them in the perms field. */ - @SuppressWarnings("unchecked") private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { // Don't call defaultReadObject() // Read in serialized fields ObjectInputStream.GetField gfields = in.readFields(); // Get the one we want Vector<Permission> permissions = (Vector<Permission>)gfields.get("permissions", null); perms = new ArrayList<>(permissions.size()); perms.addAll(permissions); } } --- 839,857 ---- } /* * Reads in a Vector of FilePermissions and saves them in the perms field. */ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { // Don't call defaultReadObject() // Read in serialized fields ObjectInputStream.GetField gfields = in.readFields(); // Get the one we want + @SuppressWarnings("unchecked") Vector<Permission> permissions = (Vector<Permission>)gfields.get("permissions", null); perms = new ArrayList<>(permissions.size()); perms.addAll(permissions); } }