Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
us::LDAPFilter Class Reference

#include <usLDAPFilter.h>

Collaboration diagram for us::LDAPFilter:

Public Member Functions

 LDAPFilter ()
 
 LDAPFilter (const std::string &filter)
 
 LDAPFilter (const LDAPFilter &other)
 
 ~LDAPFilter ()
 
 operator bool_type () const
 
bool Match (const ServiceReferenceBase &reference) const
 
bool Match (const ServiceProperties &dictionary) const
 
bool MatchCase (const ServiceProperties &dictionary) const
 
std::string ToString () const
 
bool operator== (const LDAPFilter &other) const
 
LDAPFilteroperator= (const LDAPFilter &filter)
 

Protected Attributes

SharedDataPointer< LDAPFilterData > d
 

Detailed Description

An RFC 1960-based Filter.

A LDAPFilter can be used numerous times to determine if the match argument matches the filter string that was used to create the LDAPFilter.

Some examples of LDAP filters are:

Remarks
This class is thread safe.
See also
LDAPProp for a fluent API generating LDAP filter strings

Definition at line 54 of file usLDAPFilter.h.

Constructor & Destructor Documentation

◆ LDAPFilter() [1/3]

us::LDAPFilter::LDAPFilter ( )

Creates in invalid LDAPFilter object. Test the validity by using the boolean conversion operator.

Calling methods on an invalid LDAPFilter will result in undefined behavior.

◆ LDAPFilter() [2/3]

us::LDAPFilter::LDAPFilter ( const std::string &  filter)

Creates a LDAPFilter object. This LDAPFilter object may be used to match a ServiceReference object or a ServiceProperties object.

If the filter cannot be parsed, an std::invalid_argument will be thrown with a human readable message where the filter became unparsable.

Parameters
filterThe filter string.
Exceptions
std::invalid_argumentIf filter contains an invalid filter string that cannot be parsed.
See also
"Framework specification for a description of the filter string syntax." TODO!

◆ LDAPFilter() [3/3]

us::LDAPFilter::LDAPFilter ( const LDAPFilter other)

◆ ~LDAPFilter()

us::LDAPFilter::~LDAPFilter ( )

Member Function Documentation

◆ Match() [1/2]

bool us::LDAPFilter::Match ( const ServiceProperties dictionary) const

Filter using a ServiceProperties object with case insensitive key lookup. This LDAPFilter is executed using the specified ServiceProperties's keys and values. The keys are looked up in a case insensitive manner.

Parameters
dictionaryThe ServiceProperties whose key/value pairs are used in the match.
Returns
true if the ServiceProperties's values match this filter; false otherwise.

◆ Match() [2/2]

bool us::LDAPFilter::Match ( const ServiceReferenceBase reference) const

Filter using a service's properties.

This LDAPFilter is executed using the keys and values of the referenced service's properties. The keys are looked up in a case insensitive manner.

Parameters
referenceThe reference to the service whose properties are used in the match.
Returns
true if the service's properties match this LDAPFilter false otherwise.

◆ MatchCase()

bool us::LDAPFilter::MatchCase ( const ServiceProperties dictionary) const

Filter using a ServiceProperties. This LDAPFilter is executed using the specified ServiceProperties's keys and values. The keys are looked up in a normal manner respecting case.

Parameters
dictionaryThe ServiceProperties whose key/value pairs are used in the match.
Returns
true if the ServiceProperties's values match this filter; false otherwise.

◆ operator bool_type()

us::LDAPFilter::operator bool_type ( ) const

◆ operator=()

LDAPFilter& us::LDAPFilter::operator= ( const LDAPFilter filter)

◆ operator==()

bool us::LDAPFilter::operator== ( const LDAPFilter other) const

Compares this LDAPFilter to another LDAPFilter.

This implementation returns the result of calling this->ToString() == other.ToString().

Parameters
otherThe object to compare against this LDAPFilter.
Returns
Returns the result of calling this->ToString() == other.ToString().

◆ ToString()

std::string us::LDAPFilter::ToString ( ) const

Returns this LDAPFilter's filter string.

The filter string is normalized by removing whitespace which does not affect the meaning of the filter.

Returns
This LDAPFilter's filter string.

Member Data Documentation

◆ d

SharedDataPointer<LDAPFilterData> us::LDAPFilter::d
protected

Definition at line 158 of file usLDAPFilter.h.


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