defensive-coding-guide/defensive-coding/pot/snippets/Java-SecurityManager-Callback.pot
2014-03-24 15:59:40 -04:00

54 lines
1.4 KiB
Text

#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2013-09-18T00:49:43\n"
"PO-Revision-Date: 2013-09-18T00:49:43\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: programlisting
#, no-c-format
msgid "\n"
"interface Callback&lt;T&gt; {\n"
" T call(boolean flag);\n"
"}\n"
"\n"
"class CallbackInvoker&lt;T&gt; {\n"
" private final AccessControlContext context;\n"
" Callback&lt;T&gt; callback;\n"
"\n"
" CallbackInvoker(Callback&lt;T&gt; callback) {\n"
" context = AccessController.getContext();\n"
" this.callback = callback;\n"
" }\n"
"\n"
" public T invoke() {\n"
" // Obtain increased privileges.\n"
" return AccessController.doPrivileged(new PrivilegedAction&lt;T&gt;() {\n"
" @Override\n"
" public T run() {\n"
" // This operation would fail without\n"
" // additional privileges.\n"
" final boolean flag = Boolean.getBoolean(\"some.property\");\n"
"\n"
" // Restore the original privileges.\n"
" return AccessController.doPrivileged(\n"
" new PrivilegedAction&lt;T&gt;() {\n"
" @Override\n"
" public T run() {\n"
" return callback.call(flag);\n"
" }\n"
" }, context);\n"
" }\n"
" });\n"
" }\n"
"}\n"
""
msgstr ""