Oracle Coherence for C++ API
Release 3.6.0.0

E15728-01

coherence/security/auth/Subject.hpp

00001 /*
00002 * Subject.hpp
00003 *
00004 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_SUBJECT_HPP
00017 #define COH_SUBJECT_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/util/Set.hpp"
00022 #include "coherence/security/RunAsBlock.hpp"
00023 #include "coherence/security/Principal.hpp"
00024 
00025 COH_OPEN_NAMESPACE3(coherence,security,auth)
00026 
00027 using coherence::util::Set;
00028 
00029 /**
00030 * A Subject represents a grouping of related information for a single entity,
00031 * such as a person.
00032 *
00033 * @see coherence::security::Principal
00034 *
00035 * @author jh 2007.12.20
00036 */
00037 class COH_EXPORT Subject
00038     : public interface_spec<Subject>
00039     {
00040     // ----- Subject interface ----------------------------------------------
00041 
00042     public:
00043         /**
00044         * Return the set of Principals associated with the Subject.
00045         *
00046         * @return the set of Principals associated with the Subject
00047         */
00048         virtual Set::View getPrincipals() const = 0;
00049     };
00050 
00051 COH_CLOSE_NAMESPACE3
00052 
00053 #endif // COH_SUBJECT_HPP
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.