Source Code Cross Referenced for GuardedObject.java in  » JDK-Core » security » java » security » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. JDK Core
2. JDK Modules
3. JDK Modules com.sun
4. JDK Modules com.sun.java
5. JDK Modules Platform
6. JDK Modules sun
7. Open Source Build
8. Open Source Graphic Library
9. Open Source IDE Eclipse
10. Open Source J2EE
11. Open Source JDBC Driver
12. Open Source Library
13. Open Source Library Database
14. Open Source Net
15. Open Source Script
16. Science
17. Security
18. Sevlet Container
19. SUN GlassFish
20. Swing Library
21. Web Services apache cxf 2.0.1
22. Web Services AXIS2
23. XML
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Java Source Code / Java Documentation » JDK Core » security » java.security 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


01:        /*
02:         * Copyright 1997-2004 Sun Microsystems, Inc.  All Rights Reserved.
03:         * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
04:         *
05:         * This code is free software; you can redistribute it and/or modify it
06:         * under the terms of the GNU General Public License version 2 only, as
07:         * published by the Free Software Foundation.  Sun designates this
08:         * particular file as subject to the "Classpath" exception as provided
09:         * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22:         * CA 95054 USA or visit www.sun.com if you need additional information or
23:         * have any questions.
24:         */
25:
26:        package java.security;
27:
28:        /**
29:         * A GuardedObject is an object that is used to protect access to
30:         * another object.
31:         *
32:         * <p>A GuardedObject encapsulates a target object and a Guard object,
33:         * such that access to the target object is possible
34:         * only if the Guard object allows it.
35:         * Once an object is encapsulated by a GuardedObject,
36:         * access to that object is controlled by the <code>getObject</code>
37:         * method, which invokes the
38:         * <code>checkGuard</code> method on the Guard object that is
39:         * guarding access. If access is not allowed,
40:         * an exception is thrown.
41:         *
42:         * @see Guard
43:         * @see Permission
44:         *
45:         * @version 1.23 07/05/05
46:         * @author Roland Schemers
47:         * @author Li Gong
48:         */
49:
50:        public class GuardedObject implements  java.io.Serializable {
51:
52:            private static final long serialVersionUID = -5240450096227834308L;
53:
54:            private Object object; // the object we are guarding
55:            private Guard guard; // the guard
56:
57:            /**
58:             * Constructs a GuardedObject using the specified object and guard.
59:             * If the Guard object is null, then no restrictions will
60:             * be placed on who can access the object.
61:             *
62:             * @param object the object to be guarded.
63:             *
64:             * @param guard the Guard object that guards access to the object.
65:             */
66:
67:            public GuardedObject(Object object, Guard guard) {
68:                this .guard = guard;
69:                this .object = object;
70:            }
71:
72:            /**
73:             * Retrieves the guarded object, or throws an exception if access
74:             * to the guarded object is denied by the guard.
75:             *
76:             * @return the guarded object.
77:             *
78:             * @exception SecurityException if access to the guarded object is
79:             * denied.
80:             */
81:            public Object getObject() throws SecurityException {
82:                if (guard != null)
83:                    guard.checkGuard(object);
84:
85:                return object;
86:            }
87:
88:            /**
89:             * Writes this object out to a stream (i.e., serializes it).
90:             * We check the guard if there is one.
91:             */
92:            private void writeObject(java.io.ObjectOutputStream oos)
93:                    throws java.io.IOException {
94:                if (guard != null)
95:                    guard.checkGuard(object);
96:
97:                oos.defaultWriteObject();
98:            }
99:        }
w___w_w___._j___a_v___a_2___s__.__c__om | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.