< prev index next >

## src/java.base/share/classes/java/security/Permission.java

Print this page

      1 /*
      2  * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
      3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
      4  *
      5  * This code is free software; you can redistribute it and/or modify it
      6  * under the terms of the GNU General Public License version 2 only, as
      7  * published by the Free Software Foundation.  Oracle designates this
      8  * particular file as subject to the "Classpath" exception as provided
      9  * by Oracle in the LICENSE file that accompanied this code.
     10  *
     11  * This code is distributed in the hope that it will be useful, but WITHOUT
     12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14  * version 2 for more details (a copy is included in the LICENSE file that
     15  * accompanied this code).
     16  *
     17  * You should have received a copy of the GNU General Public License version
     18  * 2 along with this work; if not, write to the Free Software Foundation,
     19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     20  *
     21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
     22  * or visit www.oracle.com if you need additional information or have any
     51  *
     52  * <P> Permission objects are similar to String objects in that they
     53  * are immutable once they have been created. Subclasses should not
     54  * provide methods that can change the state of a permission
     55  * once it has been created.
     56  *
     57  * @see Permissions
     58  * @see PermissionCollection
     59  *
     60  *
     61  * @author Marianne Mueller
     62  * @author Roland Schemers
     63  * @since 1.2
     64  */
     65
     66 public abstract class Permission implements Guard, java.io.Serializable {
     67
     68     @java.io.Serial
     69     private static final long serialVersionUID = -5636570222231596674L;
     70

     71     private String name;
     72
     73     /**
     74      * Constructs a permission with the specified name.
     75      *
     76      * @param name name of the Permission object being created.
     77      *
     78      */
     79
     80     public Permission(String name) {
     81         this.name = name;
     82     }
     83
     84     /**
     85      * Implements the guard interface for a permission. The
     86      * {@code SecurityManager.checkPermission} method is called,
     87      * passing this permission object as the permission to check.
     88      * Returns silently if access is granted. Otherwise, throws
     89      * a SecurityException.
     90      *
      1 /*
      2  * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
      3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
      4  *
      5  * This code is free software; you can redistribute it and/or modify it
      6  * under the terms of the GNU General Public License version 2 only, as
      7  * published by the Free Software Foundation.  Oracle designates this
      8  * particular file as subject to the "Classpath" exception as provided
      9  * by Oracle in the LICENSE file that accompanied this code.
     10  *
     11  * This code is distributed in the hope that it will be useful, but WITHOUT
     12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14  * version 2 for more details (a copy is included in the LICENSE file that
     15  * accompanied this code).
     16  *
     17  * You should have received a copy of the GNU General Public License version
     18  * 2 along with this work; if not, write to the Free Software Foundation,
     19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     20  *
     21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
     22  * or visit www.oracle.com if you need additional information or have any
     51  *
     52  * <P> Permission objects are similar to String objects in that they
     53  * are immutable once they have been created. Subclasses should not
     54  * provide methods that can change the state of a permission
     55  * once it has been created.
     56  *
     57  * @see Permissions
     58  * @see PermissionCollection
     59  *
     60  *
     61  * @author Marianne Mueller
     62  * @author Roland Schemers
     63  * @since 1.2
     64  */
     65
     66 public abstract class Permission implements Guard, java.io.Serializable {
     67
     68     @java.io.Serial
     69     private static final long serialVersionUID = -5636570222231596674L;
     70
     71     /**
     72      * The permission name.
     73      */
     74     private String name;
     75
     76     /**
     77      * Constructs a permission with the specified name.
     78      *
     79      * @param name name of the Permission object being created.
     80      *
     81      */
     82
     83     public Permission(String name) {
     84         this.name = name;
     85     }
     86
     87     /**
     88      * Implements the guard interface for a permission. The
     89      * {@code SecurityManager.checkPermission} method is called,
     90      * passing this permission object as the permission to check.
     91      * Returns silently if access is granted. Otherwise, throws
     92      * a SecurityException.
     93      *

< prev index next >