SAP NetWeaver 7.1 Composition Environment

com.sap.security.api
Class AttributeList

java.lang.Object
  extended by com.sap.security.api.AttributeList
All Implemented Interfaces:
Serializable

public class AttributeList
extends Object
implements Serializable

Class AttributeList is used to define specific attributes which can be used to populate an IPrincipal object. If you know in advance which attributes you want to access use this class to define the used attributes. You will have better performance and less communication with the server if you specify the desired attributes. The object is NOT synchronized, which means that one has to expect runtime exceptions like ConcurrentModificationException or ArrayIndexOutOfBoundsException when the same instance of a AttributeList object is used in more than one thread in parallel. Note: Reuse of a AttributeList object which was already used to get a principal from a factory is not supported. The factory might change the content of the passed AttributeList object.

See Also:
Serialized Form

Field Summary
protected  ArrayList attributes
           
protected  HashSet fastAccess
           
protected  boolean mCheckSizeLimit
           
static int TYPE_BLOB
          TYPE_BLOB is returned by getAttributeType(String, String) if the type of the values of an attribute is of type byte[]
static int TYPE_STRING
          TYPE_STRING is returned by getAttributeType(String, String) if the type of the values of an attribute is of type String
static int TYPE_UNKNOWN
          TYPE_UNKNOWN is returned by getAttributeType(String, String) if the type of the values of an attribute cannot be determined
static String VERSIONSTRING
           
 
Constructor Summary
AttributeList()
          Default constructor of AttributeList.
AttributeList(boolean checkSizeLimit)
          Constructor of AttributeList.
 
Method Summary
 void addAttribute(String nameSpace, String attributeName)
          Add an attribute to this instance of AttributeList with following properties Note: A AttributeList can only contain 25 attributes.
 void addAttribute(String nameSpace, String attributeName, int type)
          Add an attribute to this instance of AttributeList with following properties
 void addAttributeList(AttributeList populateAttributes)
          Add attributes to this instance of AttributeList
 Object clone()
          Returns a new instance of AttributeList which contains the same data as this instance.
 boolean containsAttribute(String nameSpace, String attributeName)
           
 boolean containsAttribute(String nameSpace, String attributeName, int type)
          Returns whether an attribute is contained in this instance of AttributeList with following properties
 boolean equals(Object obj)
          used to compare instances of AttributeList
 String getAttributeNameOfAttributeAt(int index)
          Returns the name of an attribute at a given index in this attributeList
 int getAttributeType(String nameSpace, String attributeName)
          returns the type of the attribute of this instance of AttributeList.
 int getAttributeTypeOfAttributeAt(int index)
          returns the type of the attribute of this instance of AttributeList.
 String getNameSpaceOfAttributeAt(int index)
          Returns the namespace of an attribute at a given index in this attributeList
 AttributeList getNotContainedAttributes(AttributeList populateAttributes)
          Returns a new instance of AttributeList which contains all attributes which are contained in the passed AttributeList, but not contained in this instance.
 int getSize()
          Returns the number of components in this attributeList
 int hashCode()
           
 boolean isSubsetOf(AttributeList populateAttributes)
          Returns a whether this AttributeList is a subset of the given AttributeList
 void removeAttribute(String nameSpace, String attributeName)
          Removes an attribute from this instance of AttributeList with following properties
 String toString()
          Returns a string representation of this AttributeList.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

VERSIONSTRING

public static final String VERSIONSTRING
See Also:
Constant Field Values

TYPE_UNKNOWN

public static final int TYPE_UNKNOWN
TYPE_UNKNOWN is returned by getAttributeType(String, String) if the type of the values of an attribute cannot be determined

See Also:
Constant Field Values

TYPE_STRING

public static final int TYPE_STRING
TYPE_STRING is returned by getAttributeType(String, String) if the type of the values of an attribute is of type String

See Also:
Constant Field Values

TYPE_BLOB

public static final int TYPE_BLOB
TYPE_BLOB is returned by getAttributeType(String, String) if the type of the values of an attribute is of type byte[]

See Also:
Constant Field Values

attributes

protected ArrayList attributes

fastAccess

protected HashSet fastAccess

mCheckSizeLimit

protected boolean mCheckSizeLimit
Constructor Detail

AttributeList

public AttributeList()
Default constructor of AttributeList. An empty instance of AttributeList is ignored during population of an IPrincipal object. You have to use addAttribute(String, String) to add attributes


AttributeList

public AttributeList(boolean checkSizeLimit)
Constructor of AttributeList. An empty instance of AttributeList is ignored during population of an IPrincipal object. You have to use addAttribute(String, String)to add attributes

Parameters:
checkSizeLimit - specifies whether the size limit of 25 attributes should be checked
Method Detail

equals

public boolean equals(Object obj)
used to compare instances of AttributeList

Overrides:
equals in class Object
Parameters:
obj - object which should be compared with this instance
Returns:
true if objects are identical, false otherwise

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getAttributeTypeOfAttributeAt

public int getAttributeTypeOfAttributeAt(int index)
returns the type of the attribute of this instance of AttributeList.

Parameters:
index - index of attribute in AttributeList
Returns:
following constants: TYPE_UNKNOWN, TYPE_STRING, TYPE_BLOB

getAttributeType

public int getAttributeType(String nameSpace,
                            String attributeName)
returns the type of the attribute of this instance of AttributeList.

Parameters:
nameSpace - namespace of the attribute
attributeName - name of the attribute
Returns:
following constants: TYPE_UNKNOWN, TYPE_STRING, TYPE_BLOB

removeAttribute

public void removeAttribute(String nameSpace,
                            String attributeName)
Removes an attribute from this instance of AttributeList with following properties

Parameters:
nameSpace - namespace of the attribute
attributeName - name of the attribute

containsAttribute

public boolean containsAttribute(String nameSpace,
                                 String attributeName,
                                 int type)
Returns whether an attribute is contained in this instance of AttributeList with following properties

Parameters:
nameSpace - namespace of the attribute
attributeName - name of the attribute
type - the attribute type
Returns:
boolean: true if this instance contains this attribute, otherwise false

containsAttribute

public boolean containsAttribute(String nameSpace,
                                 String attributeName)

addAttribute

public void addAttribute(String nameSpace,
                         String attributeName)
Add an attribute to this instance of AttributeList with following properties Note: A AttributeList can only contain 25 attributes.

Parameters:
nameSpace - namespace of the attribute
attributeName - name of the attribute
Throws:
UMRuntimeException - if the AttributeList already contains 25 attributes.

addAttribute

public void addAttribute(String nameSpace,
                         String attributeName,
                         int type)
Add an attribute to this instance of AttributeList with following properties

Parameters:
nameSpace - namespace of the attribute
attributeName - name of the attribute
type - of the attribute. Following constants are allowed: TYPE_UNKNOWN, TYPE_STRING, TYPE_BLOB
Throws:
UMRuntimeException - if the AttributeList already contains 25 attributes.

addAttributeList

public void addAttributeList(AttributeList populateAttributes)
Add attributes to this instance of AttributeList

Parameters:
populateAttributes - instance of another AttributeList which is used to copy the attributes into this instance
Throws:
UMRuntimeException - if the AttributeList already contains 25 attributes.

isSubsetOf

public boolean isSubsetOf(AttributeList populateAttributes)
Returns a whether this AttributeList is a subset of the given AttributeList

Returns:
true if this AttributeList is a subset of the given AttributeList or false if this AttributeList is empty or the passed AttributeList is null

getNotContainedAttributes

public AttributeList getNotContainedAttributes(AttributeList populateAttributes)
Returns a new instance of AttributeList which contains all attributes which are contained in the passed AttributeList, but not contained in this instance.

Returns:
Object: the new AttributeList instance

clone

public Object clone()
Returns a new instance of AttributeList which contains the same data as this instance.

Overrides:
clone in class Object
Returns:
Object: the new AttributeList instance

getSize

public int getSize()
Returns the number of components in this attributeList


getNameSpaceOfAttributeAt

public String getNameSpaceOfAttributeAt(int index)
Returns the namespace of an attribute at a given index in this attributeList

Returns:
String: name of attribute's namespace

getAttributeNameOfAttributeAt

public String getAttributeNameOfAttributeAt(int index)
Returns the name of an attribute at a given index in this attributeList

Parameters:
index - given index in attributeList
Returns:
String: name of attribute at given index

toString

public String toString()
Returns a string representation of this AttributeList. Containing the String representation of each element.

Overrides:
toString in class Object

SAP NetWeaver 7.1 Composition Environment

Copyright © 2007 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.