shibsp::ExtensibleAttribute Class Reference

An Attribute whose values are arbitrary structures. More...

#include <shibsp/attribute/ExtensibleAttribute.h>

Inheritance diagram for shibsp::ExtensibleAttribute:
shibsp::Attribute

List of all members.

Public Member Functions

 ExtensibleAttribute (const std::vector< std::string > &ids, const char *formatter)
 Constructor.
 ExtensibleAttribute (DDF &in)
 Constructs based on a remoted ExtensibleAttribute.
DDF getValues ()
 Returns the set of values in a DDF list.
size_t valueCount () const
 Returns the number of values.
void clearSerializedValues ()
 Informs the Attribute that values have changed and any serializations must be cleared.
const char * getString (size_t index) const
 Gets the string equivalent of the value at the specified position (starting from zero).
const char * getScope (size_t index) const
 Gets the "scope" of the value at the specified position (starting from zero).
void removeValue (size_t index)
 Removes the value at the specified position (starting from zero).
const std::vector< std::string > & getSerializedValues () const
 Returns serialized Attribute values encoded as UTF-8 strings.
DDF marshall () const
 Marshalls an Attribute for remoting.

Detailed Description

An Attribute whose values are arbitrary structures.


Constructor & Destructor Documentation

shibsp::ExtensibleAttribute::ExtensibleAttribute ( const std::vector< std::string > &  ids,
const char *  formatter 
)

Constructor.

Parameters:
ids array with primary identifier in first position, followed by any aliases
formatter template for serialization of values
shibsp::ExtensibleAttribute::ExtensibleAttribute ( DDF in  ) 

Constructs based on a remoted ExtensibleAttribute.

Parameters:
in input object containing marshalled ExtensibleAttribute

Member Function Documentation

const char* shibsp::ExtensibleAttribute::getScope ( size_t  index  )  const [virtual]

Gets the "scope" of the value at the specified position (starting from zero).

Parameters:
index position of value
Returns:
the specified value's "scope", or nullptr if attribute is unscoped

Reimplemented from shibsp::Attribute.

const std::vector<std::string>& shibsp::ExtensibleAttribute::getSerializedValues (  )  const [virtual]

Returns serialized Attribute values encoded as UTF-8 strings.

Returns:
an immutable vector of values

Reimplemented from shibsp::Attribute.

const char* shibsp::ExtensibleAttribute::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.

DDF shibsp::ExtensibleAttribute::getValues (  ) 

Returns the set of values in a DDF list.

Returns:
a mutable list object containing the values
DDF shibsp::ExtensibleAttribute::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.

void shibsp::ExtensibleAttribute::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.

size_t shibsp::ExtensibleAttribute::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:

Generated on 15 Nov 2017 for shibboleth-2.6.1 by  doxygen 1.6.1