/* * @(#)Resources.java 1.19 06/10/10 * * Copyright 1990-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program 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. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. */ package sun.security.util; /** * <p> This class represents the <code>ResourceBundle</code> * for javax.security.auth and sun.security. * * @version 1.19, 10/10/06 */ public class Resources extends java.util.ListResourceBundle { private static final Object[][] contents = { // shared (from jarsigner) {" ", " "}, {" ", " "}, {" ", " "}, {", ", ", "}, // shared (from keytool) {"\n", "\n"}, {"*******************************************", "*******************************************"}, {"*******************************************\n\n", "*******************************************\n\n"}, // keytool {"keytool error: ", "keytool error: "}, {"Illegal option: ", "Illegal option: "}, {"Validity must be greater than zero", "Validity must be greater than zero"}, {"provName not a provider", "{0} not a provider"}, {"Must not specify both -v and -rfc with 'list' command", "Must not specify both -v and -rfc with 'list' command"}, {"Key password must be at least 6 characters", "Key password must be at least 6 characters"}, {"New password must be at least 6 characters", "New password must be at least 6 characters"}, {"Keystore file exists, but is empty: ", "Keystore file exists, but is empty: "}, {"Keystore file does not exist: ", "Keystore file does not exist: "}, {"Must specify destination alias", "Must specify destination alias"}, {"Must specify alias", "Must specify alias"}, {"Keystore password must be at least 6 characters", "Keystore password must be at least 6 characters"}, {"Enter keystore password: ", "Enter keystore password: "}, {"Keystore password is too short - must be at least 6 characters", "Keystore password is too short - must be at least 6 characters"}, {"Too many failures - try later", "Too many failures - try later"}, {"Certification request stored in file <filename>", "Certification request stored in file <{0}>"}, {"Submit this to your CA", "Submit this to your CA"}, {"Certificate stored in file <filename>", "Certificate stored in file <{0}>"}, {"Certificate reply was installed in keystore", "Certificate reply was installed in keystore"}, {"Certificate reply was not installed in keystore", "Certificate reply was not installed in keystore"}, {"Certificate was added to keystore", "Certificate was added to keystore"}, {"Certificate was not added to keystore", "Certificate was not added to keystore"}, {"[Saving ksfname]", "[Saving {0}]"}, {"alias has no public key (certificate)", "{0} has no public key (certificate)"}, {"Cannot derive signature algorithm", "Cannot derive signature algorithm"}, {"Alias <alias> does not exist", "Alias <{0}> does not exist"}, {"Alias <alias> has no certificate", "Alias <{0}> has no certificate"}, {"Key pair not generated, alias <alias> already exists", "Key pair not generated, alias <{0}> already exists"}, {"Cannot derive signature algorithm", "Cannot derive signature algorithm"}, {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName)\n\tfor: x500Name", "Generating {0} bit {1} key pair and self-signed certificate ({2})\n\tfor: {3}"}, {"Enter key password for <alias>", "Enter key password for <{0}>"}, {"\t(RETURN if same as keystore password): ", "\t(RETURN if same as keystore password): "}, {"Key password is too short - must be at least 6 characters", "Key password is too short - must be at least 6 characters"}, {"Too many failures - key not added to keystore", "Too many failures - key not added to keystore"}, {"Destination alias <dest> already exists", "Destination alias <{0}> already exists"}, {"Password is too short - must be at least 6 characters", "Password is too short - must be at least 6 characters"}, {"Too many failures. Key entry not cloned", "Too many failures. Key entry not cloned"}, {"key password for <alias>", "key password for <{0}>"}, {"Keystore entry for <id.getName()> already exists", "Keystore entry for <{0}> already exists"}, {"Creating keystore entry for <id.getName()> ...", "Creating keystore entry for <{0}> ..."}, {"No entries from identity database added", "No entries from identity database added"}, {"Alias name: alias", "Alias name: {0}"}, {"Creation date: keyStore.getCreationDate(alias)", "Creation date: {0,date}"}, {"alias, keyStore.getCreationDate(alias), ", "{0}, {1,date}, "}, {"Entry type: keyEntry", "Entry type: keyEntry"}, {"keyEntry,", "keyEntry,"}, {"Certificate chain length: ", "Certificate chain length: "}, {"Certificate[(i + 1)]:", "Certificate[{0,number,integer}]:"}, {"Certificate fingerprint (MD5): ", "Certificate fingerprint (MD5): "}, {"Entry type: trustedCertEntry\n", "Entry type: trustedCertEntry\n"}, {"trustedCertEntry,", "trustedCertEntry,"}, {"Keystore type: ", "Keystore type: "}, {"Keystore provider: ", "Keystore provider: "}, {"Your keystore contains keyStore.size() entry", "Your keystore contains {0,number,integer} entry"}, {"Your keystore contains keyStore.size() entries", "Your keystore contains {0,number,integer} entries"}, {"Failed to parse input", "Failed to parse input"}, {"Empty input", "Empty input"}, {"Not X.509 certificate", "Not X.509 certificate"}, {"Cannot derive signature algorithm", "Cannot derive signature algorithm"}, {"alias has no public key", "{0} has no public key"}, {"alias has no X.509 certificate", "{0} has no X.509 certificate"}, {"New certificate (self-signed):", "New certificate (self-signed):"}, {"Reply has no certificates", "Reply has no certificates"}, {"Certificate not imported, alias <alias> already exists", "Certificate not imported, alias <{0}> already exists"}, {"Input not an X.509 certificate", "Input not an X.509 certificate"}, {"Certificate already exists in keystore under alias <trustalias>", "Certificate already exists in keystore under alias <{0}>"}, {"Do you still want to add it? [no]: ", "Do you still want to add it? [no]: "}, {"Certificate already exists in system-wide CA keystore under alias <trustalias>", "Certificate already exists in system-wide CA keystore under alias <{0}>"}, {"Do you still want to add it to your own keystore? [no]: ", "Do you still want to add it to your own keystore? [no]: "}, {"Trust this certificate? [no]: ", "Trust this certificate? [no]: "}, {"YES", "YES"}, {"New prompt: ", "New {0}: "}, {"Passwords must differ", "Passwords must differ"}, {"Re-enter new prompt: ", "Re-enter new {0}: "}, {"They don't match; try again", "They don't match; try again"}, {"Enter prompt alias name: ", "Enter {0} alias name: "}, {"Enter alias name: ", "Enter alias name: "}, {"\t(RETURN if same as for <otherAlias>)", "\t(RETURN if same as for <{0}>)"}, {"*PATTERN* printX509Cert", "Owner: {0}\nIssuer: {1}\nSerial number: {2}\nValid from: {3} until: {4}\nCertificate fingerprints:\n\t MD5: {5}\n\t SHA1: {6}"}, {"What is your first and last name?", "What is your first and last name?"}, {"What is the name of your organizational unit?", "What is the name of your organizational unit?"}, {"What is the name of your organization?", "What is the name of your organization?"}, {"What is the name of your City or Locality?", "What is the name of your City or Locality?"}, {"What is the name of your State or Province?", "What is the name of your State or Province?"}, {"What is the two-letter country code for this unit?", "What is the two-letter country code for this unit?"}, {"Is <name> correct?", "Is {0} correct?"}, {"no", "no"}, {"yes", "yes"}, {"y", "y"}, {" [defaultValue]: ", " [{0}]: "}, {"Alias <alias> has no (private) key", "Alias <{0}> has no (private) key"}, {"Recovered key is not a private key", "Recovered key is not a private key"}, {"***************** WARNING WARNING WARNING *****************", "***************** WARNING WARNING WARNING *****************"}, {"* The integrity of the information stored in your keystore *", "* The integrity of the information stored in your keystore *"}, {"* has NOT been verified! In order to verify its integrity, *", "* has NOT been verified! In order to verify its integrity, *"}, {"* you must provide your keystore password. *", "* you must provide your keystore password. *"}, {"Certificate reply does not contain public key for <alias>", "Certificate reply does not contain public key for <{0}>"}, {"Incomplete certificate chain in reply", "Incomplete certificate chain in reply"}, {"Certificate chain in reply does not verify: ", "Certificate chain in reply does not verify: "}, {"Top-level certificate in reply:\n", "Top-level certificate in reply:\n"}, {"... is not trusted. ", "... is not trusted. "}, {"Install reply anyway? [no]: ", "Install reply anyway? [no]: "}, {"NO", "NO"}, {"Public keys in reply and keystore don't match", "Public keys in reply and keystore don't match"}, {"Certificate reply and certificate in keystore are identical", "Certificate reply and certificate in keystore are identical"}, {"Failed to establish chain from reply", "Failed to establish chain from reply"}, {"n", "n"}, {"Wrong answer, try again", "Wrong answer, try again"}, {"keytool usage:\n", "keytool usage:\n"}, {"-certreq [-v] [-alias <alias>] [-sigalg <sigalg>]", "-certreq [-v] [-alias <alias>] [-sigalg <sigalg>]"}, {"\t [-file <csr_file>] [-keypass <keypass>]", "\t [-file <csr_file>] [-keypass <keypass>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-delete [-v] -alias <alias>", "-delete [-v] -alias <alias>"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-export [-v] [-rfc] [-alias <alias>] [-file <cert_file>]", "-export [-v] [-rfc] [-alias <alias>] [-file <cert_file>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-genkey [-v] [-alias <alias>] [-keyalg <keyalg>]", "-genkey [-v] [-alias <alias>] [-keyalg <keyalg>]"}, {"\t [-keysize <keysize>] [-sigalg <sigalg>]", "\t [-keysize <keysize>] [-sigalg <sigalg>]"}, {"\t [-dname <dname>] [-validity <valDays>]", "\t [-dname <dname>] [-validity <valDays>]"}, {"\t [-keypass <keypass>] [-keystore <keystore>]", "\t [-keypass <keypass>] [-keystore <keystore>]"}, {"\t [-storepass <storepass>] [-storetype <storetype>]", "\t [-storepass <storepass>] [-storetype <storetype>]"}, {"\t [-provider <provider_class_name>] ...", "\t [-provider <provider_class_name>] ..."}, {"-help", "-help"}, {"-identitydb [-v] [-file <idb_file>] [-keystore <keystore>]", "-identitydb [-v] [-file <idb_file>] [-keystore <keystore>]"}, {"\t [-storepass <storepass>] [-storetype <storetype>]", "\t [-storepass <storepass>] [-storetype <storetype>]"}, {"\t [-provider <provider_class_name>] ...", "\t [-provider <provider_class_name>] ..."}, {"-import [-v] [-noprompt] [-trustcacerts] [-alias <alias>]", "-import [-v] [-noprompt] [-trustcacerts] [-alias <alias>]"}, {"\t [-file <cert_file>] [-keypass <keypass>]", "\t [-file <cert_file>] [-keypass <keypass>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-keyclone [-v] [-alias <alias>] -dest <dest_alias>", "-keyclone [-v] [-alias <alias>] -dest <dest_alias>"}, {"\t [-keypass <keypass>] [-new <new_keypass>]", "\t [-keypass <keypass>] [-new <new_keypass>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-keypasswd [-v] [-alias <alias>]", "-keypasswd [-v] [-alias <alias>]"}, {"\t [-keypass <old_keypass>] [-new <new_keypass>]", "\t [-keypass <old_keypass>] [-new <new_keypass>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-list [-v | -rfc] [-alias <alias>]", "-list [-v | -rfc] [-alias <alias>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, {"-printcert [-v] [-file <cert_file>]", "-printcert [-v] [-file <cert_file>]"}, {"-selfcert [-v] [-alias <alias>] [-sigalg <sigalg>]", "-selfcert [-v] [-alias <alias>] [-sigalg <sigalg>]"}, {"\t [-dname <dname>] [-validity <valDays>]", "\t [-dname <dname>] [-validity <valDays>]"}, {"\t [-keypass <keypass>] [-keystore <keystore>]", "\t [-keypass <keypass>] [-keystore <keystore>]"}, {"\t [-storepass <storepass>] [-storetype <storetype>]", "\t [-storepass <storepass>] [-storetype <storetype>]"}, {"\t [-provider <provider_class_name>] ...", "\t [-provider <provider_class_name>] ..."}, {"-storepasswd [-v] [-new <new_storepass>]", "-storepasswd [-v] [-new <new_storepass>]"}, {"\t [-keystore <keystore>] [-storepass <storepass>]", "\t [-keystore <keystore>] [-storepass <storepass>]"}, {"\t [-storetype <storetype>] [-provider <provider_class_name>] ...", "\t [-storetype <storetype>] [-provider <provider_class_name>] ..."}, // policytool {"Warning: A public key for alias 'signers[i]' does not exist.", "Warning: A public key for alias {0} does not exist."}, {"Warning: Class not found: ", "Warning: Class not found: "}, {"Policy File opened successfully", "Policy File opened successfully"}, {"null Keystore name", "null Keystore name"}, {"Warning: Unable to open Keystore: ", "Warning: Unable to open Keystore: "}, {"Illegal option: ", "Illegal option: "}, {"Usage: policytool [options]", "Usage: policytool [options]"}, {" [-file <file>] policy file location", " [-file <file>] policy file location"}, {"New", "New"}, {"Open", "Open"}, {"Save", "Save"}, {"Save As", "Save As"}, {"View Warning Log", "View Warning Log"}, {"Exit", "Exit"}, {"Add Policy Entry", "Add Policy Entry"}, {"Edit Policy Entry", "Edit Policy Entry"}, {"Remove Policy Entry", "Remove Policy Entry"}, {"Change KeyStore", "Change KeyStore"}, {"Add Public Key Alias", "Add Public Key Alias"}, {"Remove Public Key Alias", "Remove Public Key Alias"}, {"File", "File"}, {"Edit", "Edit"}, {"Policy File:", "Policy File:"}, {"Keystore:", "Keystore:"}, {"Error parsing policy file policyFile: pppe.getMessage()", "Error parsing policy file {0}: {1}"}, {"Could not find Policy File: ", "Could not find Policy File: "}, {"Policy Tool", "Policy Tool"}, {"Errors have occurred while opening the policy configuration. View the Warning Log for more information.", "Errors have occurred while opening the policy configuration. View the Warning Log for more information."}, {"Error", "Error"}, {"OK", "OK"}, {"Status", "Status"}, {"Warning", "Warning"}, {"Permission: ", "Permission: "}, {"Target Name: ", "Target Name: "}, {"library name", "library name"}, {"package name", "package name"}, {"property name", "property name"}, {"provider name", "provider name"}, {"Actions: ", "Actions: "}, {"OK to overwrite existing file filename?", "OK to overwrite existing file {0}?"}, {"Cancel", "Cancel"}, {"CodeBase:", "CodeBase:"}, {"SignedBy:", "SignedBy:"}, {" Add Permission", " Add Permission"}, {" Edit Permission", " Edit Permission"}, {"Remove Permission", "Remove Permission"}, {"Done", "Done"}, {"New KeyStore URL:", "New KeyStore URL:"}, {"New KeyStore Type:", "New KeyStore Type:"}, {"Permissions", "Permissions"}, {" Edit Permission:", " Edit Permission:"}, {" Add New Permission:", " Add New Permission:"}, {"Signed By:", "Signed By:"}, {"Permission and Target Name must have a value", "Permission and Target Name must have a value"}, {"Remove this Policy Entry?", "Remove this Policy Entry?"}, {"Overwrite File", "Overwrite File"}, {"Policy successfully written to filename", "Policy successfully written to {0}"}, {"null filename", "null filename"}, {"filename not found", "{0} not found"}, {" Save changes?", " Save changes?"}, {"Yes", "Yes"}, {"No", "No"}, {"Error: Could not open policy file, filename, because of parsing error: pppe.getMessage()", "Error: Could not open policy file, {0}, because of parsing error: {1}"}, {"Permission could not be mapped to an appropriate class", "Permission could not be mapped to an appropriate class"}, {"Policy Entry", "Policy Entry"}, {"Save Changes", "Save Changes"}, {"No Policy Entry selected", "No Policy Entry selected"}, {"Keystore", "Keystore"}, {"KeyStore URL must have a valid value", "KeyStore URL must have a valid value"}, {"Invalid value for Actions", "Invalid value for Actions"}, {"No permission selected", "No permission selected"}, {"Warning: Invalid argument(s) for constructor: ", "Warning: Invalid argument(s) for constructor: "}, {"Add Principal", "Add Principal"}, {"Edit Principal", "Edit Principal"}, {"Remove Principal", "Remove Principal"}, {"Principal Type:", "Principal Type:"}, {"Principal Name:", "Principal Name:"}, {"Illegal Principal Type", "Illegal Principal Type"}, {"No principal selected", "No principal selected"}, {"Principals:", "Principals:"}, {"Principals", "Principals"}, {" Add New Principal:", " Add New Principal:"}, {" Edit Principal:", " Edit Principal:"}, {"name", "name"}, {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name", "Cannot Specify Principal with a Wildcard Class without a Wildcard Name"}, {"Cannot Specify Principal without a Class", "Cannot Specify Principal without a Class"}, {"Cannot Specify Principal without a Name", "Cannot Specify Principal without a Name"}, // javax.security.auth.PrivateCredentialPermission {"invalid null input(s)", "invalid null input(s)"}, {"actions can only be 'read'", "actions can only be 'read'"}, {"permission name [name] syntax invalid: ", "permission name [{0}] syntax invalid: "}, {"Credential Class not followed by a Principal Class and Name", "Credential Class not followed by a Principal Class and Name"}, {"Principal Class not followed by a Principal Name", "Principal Class not followed by a Principal Name"}, {"Principal Name must be surrounded by quotes", "Principal Name must be surrounded by quotes"}, {"Principal Name missing end quote", "Principal Name missing end quote"}, {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value", "PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value"}, {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name", "CredOwner:\n\tPrincipal Class = {0}\n\tPrincipal Name = {1}"}, // javax.security.auth.x500 {"provided null name", "provided null name"}, // javax.security.auth.Subject {"invalid null AccessControlContext provided", "invalid null AccessControlContext provided"}, {"invalid null action provided", "invalid null action provided"}, {"invalid null Class provided", "invalid null Class provided"}, {"Subject:\n", "Subject:\n"}, {"\tPrincipal: ", "\tPrincipal: "}, {"\tPublic Credential: ", "\tPublic Credential: "}, {"\tPrivate Credentials inaccessible\n", "\tPrivate Credentials inaccessible\n"}, {"\tPrivate Credential: ", "\tPrivate Credential: "}, {"\tPrivate Credential inaccessible\n", "\tPrivate Credential inaccessible\n"}, {"Subject is read-only", "Subject is read-only"}, {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set", "attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set"}, {"attempting to add an object which is not an instance of class", "attempting to add an object which is not an instance of {0}"}, // javax.security.auth.login.AppConfigurationEntry {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "}, // javax.security.auth.login.LoginContext {"Invalid null input: name", "Invalid null input: name"}, {"No LoginModules configured for name", "No LoginModules configured for {0}"}, {"invalid null Subject provided", "invalid null Subject provided"}, {"invalid null CallbackHandler provided", "invalid null CallbackHandler provided"}, {"null subject - logout called before login", "null subject - logout called before login"}, {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor", "unable to instantiate LoginModule, {0}, because it does not provide a no-argument constructor"}, {"unable to instantiate LoginModule", "unable to instantiate LoginModule"}, {"unable to find LoginModule class: ", "unable to find LoginModule class: "}, {"unable to access LoginModule: ", "unable to access LoginModule: "}, {"Login Failure: all modules ignored", "Login Failure: all modules ignored"}, // sun.security.provider.PolicyFile {"java.security.policy: error parsing policy:\n\tmessage", "java.security.policy: error parsing {0}:\n\t{1}"}, {"java.security.policy: error adding Permission, perm:\n\tmessage", "java.security.policy: error adding Permission, {0}:\n\t{1}"}, {"java.security.policy: error adding Entry:\n\tmessage", "java.security.policy: error adding Entry:\n\t{0}"}, {"alias name not provided (pe.name)", "alias name not provided ({0})"}, {"unable to perform substitution on alias, suffix", "unable to perform substitution on alias, {0}"}, {"substitution value, prefix, unsupported", "substitution value, {0}, unsupported"}, {"(", "("}, {")", ")"}, {"type can't be null","type can't be null"}, // sun.security.provider.PolicyParser {"expected keystore type", "expected keystore type"}, {"multiple Codebase expressions", "multiple Codebase expressions"}, {"multiple SignedBy expressions","multiple SignedBy expressions"}, {"SignedBy has empty alias","SignedBy has empty alias"}, {"can not specify Principal with a wildcard class without a wildcard name", "can not specify Principal with a wildcard class without a wildcard name"}, {"expected codeBase or SignedBy or Principal", "expected codeBase or SignedBy or Principal"}, {"expected permission entry", "expected permission entry"}, {"number ", "number "}, {"expected [expect], read [end of file]", "expected [{0}], read [end of file]"}, {"expected [;], read [end of file]", "expected [;], read [end of file]"}, {"line number: msg", "line {0}: {1}"}, {"line number: expected [expect], found [actual]", "line {0}: expected [{1}], found [{2}]"}, {"null principalClass or principalName", "null principalClass or principalName"}, /* --- DEPRECATED --- */ // javax.security.auth.Policy {"unable to instantiate Subject-based policy", "unable to instantiate Subject-based policy"} }; /** * Returns the contents of this <code>ResourceBundle</code>. * * <p> * * @return the contents of this <code>ResourceBundle</code>. */ public Object[][] getContents() { return contents; } }