class AbstractBinding

Library: Data
Package: DataCore
Header: Poco/Data/AbstractBinding.h


AbstractBinding connects a value with a placeholder via an AbstractBinder interface.


Known Derived Classes: CopyBinding, Binding, BulkBinding

Member Summary

Member Functions: bind, bulkSize, canBind, getBinder, getDirection, isBulk, name, numOfColumnsHandled, numOfRowsHandled, reset, setBinder



typedef AbstractBinder::Ptr BinderPtr;


typedef SharedPtr < AbstractBinding > Ptr;



PD_IN = AbstractBinder::PD_IN

PD_OUT = AbstractBinder::PD_OUT

PD_IN_OUT = AbstractBinder::PD_IN_OUT



    const std::string & name = "",
    Direction direction = PD_IN,
    Poco::UInt32 bulkSize = 0

Creates the AbstractBinding.


~AbstractBinding virtual

virtual ~AbstractBinding();

Destroys the AbstractBinding.

Member Functions

bind virtual

virtual void bind(
    std::size_t pos
) = 0;

Binds a value to the given column position

bulkSize inline

Poco::UInt32 bulkSize() const;

Returns the size of the bulk binding.

canBind virtual

virtual bool canBind() const = 0;

Returns true if we have enough data to bind

getBinder inline

BinderPtr getBinder() const;

Returns the AbstractBinder used for binding data.

getDirection inline

AbstractBinder::Direction getDirection() const;

Returns the binding direction.

isBulk inline

bool isBulk() const;

Returns true if extraction is bulk.

name inline

const std::string & name() const;

Returns the name for this binding.

numOfColumnsHandled virtual

virtual std::size_t numOfColumnsHandled() const = 0;

Returns the number of columns that the binding handles.

The trivial case will be one single column but when complex types are used this value can be larger than one.

numOfRowsHandled virtual

virtual std::size_t numOfRowsHandled() const = 0;

Returns the number of rows that the binding handles.

The trivial case will be one single row but for collection data types it can be larger.

reset virtual

virtual void reset() = 0;

Allows a binding to be reused.


void setBinder(
    BinderPtr pBinder

Sets the object used for binding; object does NOT take ownership of the pointer.