Project Aristotle - ArisID Attribute Services

org.openliberty.arisid
Class PrincipalIdentifier

java.lang.Object
  extended by org.openliberty.arisid.PrincipalIdentifier
All Implemented Interfaces:
java.security.Principal, IMultiContextIdentifier, IPrincipalIdentifier

public class PrincipalIdentifier
extends java.lang.Object
implements IMultiContextIdentifier, IPrincipalIdentifier

Example implementation of IMultiContextIdentifier. An extension of java.security.Principal, this class can be used to interrogate principal identifiers for information on how the Principal is mapped to one or more contexts in the IAttrSvcStack. This class is also used for pointing to logical user records for add,delete,modify, and read operations. Note: application developers should reference this object directly. Instead, applications should use either of the interaces IMultiContextIdentifier or IPrincipalIdentifier.


Constructor Summary
PrincipalIdentifier(java.lang.String subjectkey)
           
PrincipalIdentifier(java.lang.String subjectkey, java.lang.String primaryContextId, java.util.HashMap<java.lang.String,java.lang.String> contextidmap)
           
PrincipalIdentifier(javax.security.auth.Subject user)
           
 
Method Summary
 boolean equals(java.lang.Object arg0)
           
 java.util.Map<java.lang.String,java.lang.String> getContextMap()
           
 java.lang.String getName()
           
 java.lang.String getPrimaryContext()
           
 java.lang.String getPrincipalContextIdentifier(java.lang.String contextId)
          Obtains the Principal identifier for a subject in a particular context.
 java.util.Set<java.lang.String> getRelatedContexts()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.security.Principal
hashCode
 

Constructor Detail

PrincipalIdentifier

public PrincipalIdentifier(java.lang.String subjectkey)

PrincipalIdentifier

public PrincipalIdentifier(java.lang.String subjectkey,
                           java.lang.String primaryContextId,
                           java.util.HashMap<java.lang.String,java.lang.String> contextidmap)

PrincipalIdentifier

public PrincipalIdentifier(javax.security.auth.Subject user)
Method Detail

getName

public java.lang.String getName()
Specified by:
getName in interface java.security.Principal
Specified by:
getName in interface IPrincipalIdentifier

getPrincipalContextIdentifier

public java.lang.String getPrincipalContextIdentifier(java.lang.String contextId)
Description copied from interface: IMultiContextIdentifier
Obtains the Principal identifier for a subject in a particular context. This method is provided for reporting and diagnostic purposes only.

Specified by:
getPrincipalContextIdentifier in interface IMultiContextIdentifier
Parameters:
contextId - A contextId as reported by IMultiContextIdentifier.getRelatedContexts() where the user is currently mapped to.
Returns:
A String representing the PrincipalIdentifier valid within a particular contextId.

getPrimaryContext

public java.lang.String getPrimaryContext()
Specified by:
getPrimaryContext in interface IPrincipalIdentifier
Returns:
An identifier for the primary context for this Principal

getRelatedContexts

public java.util.Set<java.lang.String> getRelatedContexts()
Specified by:
getRelatedContexts in interface IMultiContextIdentifier
Returns:
a set of ContextId String objects where the Principal is mapped. This method is provided for reporting and diagnostic purposes only.

getContextMap

public java.util.Map<java.lang.String,java.lang.String> getContextMap()
Specified by:
getContextMap in interface IMultiContextIdentifier

toString

public java.lang.String toString()
Specified by:
toString in interface java.security.Principal
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object arg0)
Specified by:
equals in interface java.security.Principal
Overrides:
equals in class java.lang.Object

OpenLiberty.org - Licensed under Apache APL 2.0