shibsp::BinaryAttribute Class Reference

An Attribute whose values are binary data. More...

`#include <shibsp/attribute/BinaryAttribute.h>`

Inheritance diagram for shibsp::BinaryAttribute:
[legend]
Collaboration diagram for shibsp::BinaryAttribute:
[legend]

## Public Member Functions

| BinaryAttribute (const std::vector< std::string > &ids)
| Constructor. More...
| BinaryAttribute (DDF &in)
| Constructs based on a remoted BinaryAttribute. More...
std::vector< std::string > & | getValues ()
| Returns the set of raw binary values. More...
const std::vector< std::string > & | getValues () const
| Returns the set of raw binary values. More...
size_t | valueCount () const
| Returns the number of values. More...
void | clearSerializedValues ()
| Informs the Attribute that values have changed and any serializations must be cleared. More...
const char * | getString (size_t index) const
| Gets the string equivalent of the value at the specified position (starting from zero). More...
void | removeValue (size_t index)
| Removes the value at the specified position (starting from zero). More...
const std::vector< std::string > & | getSerializedValues () const
| Returns serialized Attribute values encoded as UTF-8 strings. More...
DDF | marshall () const
| Marshalls an Attribute for remoting. More...
Public Member Functions inherited from shibsp::Attribute
const char * | getId () const
| Returns the Attribute identifier. More...
const std::vector< std::string > & | getAliases () const
| Returns all of the effective names for the Attribute. More...
std::vector< std::string > & | getAliases ()
| Returns all of the effective names for the Attribute. More...
void | setCaseSensitive (bool caseSensitive)
| Sets whether case sensitivity should apply to basic value comparisons. More...
void | setInternal (bool internal)
| Sets whether the attribute should be exported for CGI use. More...
bool | isCaseSensitive () const
| Indicates whether case sensitivity should apply to basic value comparisons. More...
bool | isInternal () const
| Indicates whether the attribute should be exported for CGI use. More...
virtual size_t | valueCount () const
| Returns the number of values. More...
virtual const std::vector< std::string > & | getSerializedValues () const
| Returns serialized Attribute values encoded as UTF-8 strings. More...
virtual void | clearSerializedValues ()=0
| Informs the Attribute that values have changed and any serializations must be cleared. More...
virtual const char * | getString (size_t index) const
| Gets the string equivalent of the value at the specified position (starting from zero). More...
virtual const char * | getScope (size_t index) const
| Gets the "scope" of the value at the specified position (starting from zero). More...
virtual void | removeValue (size_t index)
| Removes the value at the specified position (starting from zero). More...
virtual DDF | marshall () const
| Marshalls an Attribute for remoting. More...

## Additional Inherited Members

Public Types inherited from shibsp::Attribute
typedef Attribute * | AttributeFactory(DDF &in)
| A function that unmarshalls remoted data into the proper Attribute subclass.
Static Public Member Functions inherited from shibsp::Attribute
static Attribute * | unmarshall (DDF &in)
| Unmarshalls a remoted Attribute. More...
static void | registerFactory (const char *type, AttributeFactory *factory)
| Registers an AttributeFactory function for a given attribute "type". More...
static void | deregisterFactory (const char *type)
| Deregisters an AttributeFactory function for a given attribute "type". More...
static void | deregisterFactories ()
| Clears the map of factories.
Protected Member Functions inherited from shibsp::Attribute
| Attribute (const std::vector< std::string > &ids)
| Constructor. More...
| Attribute (DDF &in)
| Constructs based on a remoted Attribute. More...
Protected Attributes inherited from shibsp::Attribute
std::vector< std::string > | m_serialized
| Maintains a copy of serialized attribute values, when possible. More...

## Detailed Description

An Attribute whose values are binary data.

Binary attributes use base64 encoding to serialize their values. The original binary values are accessible in the underlying value collection.

## Constructor & Destructor Documentation

## BinaryAttribute() [1/2]

shibsp::BinaryAttribute::BinaryAttribute | ( | const std::vector< std::string > & | ids | ) |

Constructor.

Parameters

  ids | array with primary identifier in first position, followed by any aliases

## BinaryAttribute() [2/2]

shibsp::BinaryAttribute::BinaryAttribute | ( | DDF & | in | ) |

Constructs based on a remoted BinaryAttribute.

Parameters

  in | input object containing marshalled BinaryAttribute

## Member Function Documentation

## clearSerializedValues()

void shibsp::BinaryAttribute::clearSerializedValues | ( |  | ) |

virtual

Informs the Attribute that values have changed and any serializations must be cleared.

Implements shibsp::Attribute.

## getSerializedValues()

const std::vector< std::string > & shibsp::BinaryAttribute::getSerializedValues | ( |  | ) | const

virtual

Returns serialized Attribute values encoded as UTF-8 strings.

Returns
  an immutable vector of values

Reimplemented from shibsp::Attribute.

## getString()

const char * shibsp::BinaryAttribute::getString | ( | size_t | index | ) | const

virtual

Gets the string equivalent of the value at the specified position (starting from zero).

Parameters

  index | position of value

Returns
  the specified value in its "string" form, or nullptr if undefined

Reimplemented from shibsp::Attribute.

## getValues() [1/2]

std::vector< std::string > & shibsp::BinaryAttribute::getValues | ( |  | ) |

Returns the set of raw binary values.

Returns
  a mutable vector of the values

## getValues() [2/2]

const std::vector< std::string > & shibsp::BinaryAttribute::getValues | ( |  | ) | const

Returns the set of raw binary values.

Returns
  an immutable vector of the values

## marshall()

DDF shibsp::BinaryAttribute::marshall | ( |  | ) | const

virtual

Marshalls an Attribute for remoting.

This allows Attribute objects to be communicated across process boundaries without excess XML parsing. The DDF returned must be a struct containing a single list member named with the Attribute's "id". The name of the struct should contain the registered name of the Attribute implementation.

Reimplemented from shibsp::Attribute.

## removeValue()

void shibsp::BinaryAttribute::removeValue | ( | size_t | index | ) |

virtual

Removes the value at the specified position (starting from zero).

Parameters

  index | position of value to remove

Reimplemented from shibsp::Attribute.

## valueCount()

size_t shibsp::BinaryAttribute::valueCount | ( |  | ) | const

virtual

Returns the number of values.

Returns
  number of values

Reimplemented from shibsp::Attribute.

The documentation for this class was generated from the following file:

- shibsp/attribute/BinaryAttribute.h