< prev index next >

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

Print this page
rev 58428 : [mq]: XXXXXXX-typos


 523      * if and only if they are equal. A simple pathname never implies
 524      * a wildcard pathname. A wildcard pathname implies another wildcard
 525      * pathname if and only if all simple pathnames implied by the latter
 526      * are implied by the former. A wildcard pathname implies a simple
 527      * pathname if and only if
 528      * <ul>
 529      *     <li>if the wildcard flag is "*", the simple pathname's path
 530      *     must be right inside the wildcard pathname's path.
 531      *     <li>if the wildcard flag is "-", the simple pathname's path
 532      *     must be recursively inside the wildcard pathname's path.
 533      * </ul>
 534      * <P>
 535      * {@literal "<<ALL FILES>>"} implies every other pathname. No pathname,
 536      * except for {@literal "<<ALL FILES>>"} itself, implies
 537      * {@literal "<<ALL FILES>>"}.
 538      *
 539      * @implNote
 540      * If {@code jdk.io.permissionsUseCanonicalPath} is {@code true}, a
 541      * simple {@code cpath} is inside a wildcard {@code cpath} if and only if
 542      * after removing the base name (the last name in the pathname's name
 543      * sequence) from the former the remaining part equals to the latter,
 544      * a simple {@code cpath} is recursively inside a wildcard {@code cpath}
 545      * if and only if the former starts with the latter.
 546      * <p>
 547      * If {@code jdk.io.permissionsUseCanonicalPath} is {@code false}, a
 548      * simple {@code npath} is inside a wildcard {@code npath} if and only if
 549      * {@code  simple_npath.relativize(wildcard_npath)} is exactly "..",
 550      * a simple {@code npath} is recursively inside a wildcard {@code npath}
 551      * if and only if {@code simple_npath.relativize(wildcard_npath)} is a
 552      * series of one or more "..". This means "/-" implies "/foo" but not "foo".
 553      * <p>
 554      * An invalid {@code FilePermission} does not imply any object except for
 555      * itself. An invalid {@code FilePermission} is not implied by any object
 556      * except for itself or a {@code FilePermission} on
 557      * {@literal "<<ALL FILES>>"} whose actions is a superset of this
 558      * invalid {@code FilePermission}. Even if two {@code FilePermission}
 559      * are created with the same invalid path, one does not imply the other.
 560      *
 561      * @param p the permission to check against.
 562      *
 563      * @return {@code true} if the specified permission is not




 523      * if and only if they are equal. A simple pathname never implies
 524      * a wildcard pathname. A wildcard pathname implies another wildcard
 525      * pathname if and only if all simple pathnames implied by the latter
 526      * are implied by the former. A wildcard pathname implies a simple
 527      * pathname if and only if
 528      * <ul>
 529      *     <li>if the wildcard flag is "*", the simple pathname's path
 530      *     must be right inside the wildcard pathname's path.
 531      *     <li>if the wildcard flag is "-", the simple pathname's path
 532      *     must be recursively inside the wildcard pathname's path.
 533      * </ul>
 534      * <P>
 535      * {@literal "<<ALL FILES>>"} implies every other pathname. No pathname,
 536      * except for {@literal "<<ALL FILES>>"} itself, implies
 537      * {@literal "<<ALL FILES>>"}.
 538      *
 539      * @implNote
 540      * If {@code jdk.io.permissionsUseCanonicalPath} is {@code true}, a
 541      * simple {@code cpath} is inside a wildcard {@code cpath} if and only if
 542      * after removing the base name (the last name in the pathname's name
 543      * sequence) from the former the remaining part is equal to the latter,
 544      * a simple {@code cpath} is recursively inside a wildcard {@code cpath}
 545      * if and only if the former starts with the latter.
 546      * <p>
 547      * If {@code jdk.io.permissionsUseCanonicalPath} is {@code false}, a
 548      * simple {@code npath} is inside a wildcard {@code npath} if and only if
 549      * {@code  simple_npath.relativize(wildcard_npath)} is exactly "..",
 550      * a simple {@code npath} is recursively inside a wildcard {@code npath}
 551      * if and only if {@code simple_npath.relativize(wildcard_npath)} is a
 552      * series of one or more "..". This means "/-" implies "/foo" but not "foo".
 553      * <p>
 554      * An invalid {@code FilePermission} does not imply any object except for
 555      * itself. An invalid {@code FilePermission} is not implied by any object
 556      * except for itself or a {@code FilePermission} on
 557      * {@literal "<<ALL FILES>>"} whose actions is a superset of this
 558      * invalid {@code FilePermission}. Even if two {@code FilePermission}
 559      * are created with the same invalid path, one does not imply the other.
 560      *
 561      * @param p the permission to check against.
 562      *
 563      * @return {@code true} if the specified permission is not


< prev index next >