Keyple C++  0.9.0
Keyple, an Open Source SDK for Ticketing
Public Member Functions | Public Attributes | Friends | List of all members
keyple::core::selection::AbstractSeSelectionRequest< T > Class Template Referenceabstract

#include <AbstractSeSelectionRequest.h>

Public Member Functions

 AbstractSeSelectionRequest (std::shared_ptr< SeSelector > seSelector)
 
virtual ~AbstractSeSelectionRequest ()=default
 
virtual std::shared_ptr< SeRequestgetSelectionRequest ()
 
virtual std::shared_ptr< SeSelectorgetSeSelector ()
 
virtual const std::shared_ptr< AbstractMatchingSeparse (std::shared_ptr< SeResponse > seResponse)=0
 
void addCommandBuilder (std::shared_ptr< T > commandBuilder)
 
const std::vector< std::shared_ptr< T > > getCommandBuilders () const
 

Public Attributes

const std::shared_ptr< SeSelectormSeSelector
 

Friends

std::ostream & operator<< (std::ostream &os, const AbstractSeSelectionRequest< T > &asr)
 

Detailed Description

template<class T>
class keyple::core::selection::AbstractSeSelectionRequest< T >

The AbstractSeSelectionRequest class combines a SeSelector with additional helper methods useful to the selection process done in SeSelection.

This class may also be extended to add particular features specific to a SE family.

Constructor & Destructor Documentation

◆ AbstractSeSelectionRequest()

template<class T >
keyple::core::selection::AbstractSeSelectionRequest< T >::AbstractSeSelectionRequest ( std::shared_ptr< SeSelector seSelector)
inlineexplicit

◆ ~AbstractSeSelectionRequest()

template<class T >
virtual keyple::core::selection::AbstractSeSelectionRequest< T >::~AbstractSeSelectionRequest ( )
virtualdefault

Member Function Documentation

◆ addCommandBuilder()

template<class T >
void keyple::core::selection::AbstractSeSelectionRequest< T >::addCommandBuilder ( std::shared_ptr< T >  commandBuilder)
inline

Add an additional keyple::core::seproxy::SeReader for the command to be executed after the selection process if it succeeds.

If more than one keyple::core::seproxy::SeReader is added, all will be executed in the order in which they were added.

Parameters
commandBuilderan keyple::core::seproxy::SeReader

/!\ C++ vs. Java: this function is protected in Java

◆ getCommandBuilders()

template<class T >
const std::vector<std::shared_ptr<T> > keyple::core::selection::AbstractSeSelectionRequest< T >::getCommandBuilders ( ) const
inline
Returns
the current command builder list

/!\ C++ vs. Java: this function is protected in Java

◆ getSelectionRequest()

template<class T >
virtual std::shared_ptr<SeRequest> keyple::core::selection::AbstractSeSelectionRequest< T >::getSelectionRequest ( )
inlinevirtual

Returns a selection SeRequest built from the information provided in the constructor and possibly completed with the commandBuilders list

Returns
the selection SeRequest

◆ getSeSelector()

template<class T >
virtual std::shared_ptr<SeSelector> keyple::core::selection::AbstractSeSelectionRequest< T >::getSeSelector ( )
inlinevirtual

◆ parse()

template<class T >
virtual const std::shared_ptr<AbstractMatchingSe> keyple::core::selection::AbstractSeSelectionRequest< T >::parse ( std::shared_ptr< SeResponse seResponse)
pure virtual

Virtual parse method

Parameters
seResponsethe SE response received
Returns
a keyple::core::selection::AbstractMatchingSe
Exceptions
KeypleExceptionif an error occurs while parsing the SE response

Note: protected in Java, triggers error when used in SeSelection.cpp

Implemented in keyple::calypso::transaction::SamSelectionRequest, and keyple::calypso::transaction::PoSelectionRequest.

Friends And Related Function Documentation

◆ operator<<

template<class T >
std::ostream& operator<< ( std::ostream &  os,
const AbstractSeSelectionRequest< T > &  asr 
)
friend

Member Data Documentation

◆ mSeSelector

template<class T >
const std::shared_ptr<SeSelector> keyple::core::selection::AbstractSeSelectionRequest< T >::mSeSelector

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