Poco::Data

class AbstractBinding

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

Description

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

Inheritance

Known Derived Classes: Binding, CopyBinding, BulkBinding

Member Summary

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

Types Aliases

BinderPtr

using BinderPtr = AbstractBinder::Ptr;

Ptr

using Ptr = SharedPtr < AbstractBinding >;

Enumerations

Direction

PD_IN = AbstractBinder::PD_IN

PD_OUT = AbstractBinder::PD_OUT

PD_IN_OUT = AbstractBinder::PD_IN_OUT

Constructors

AbstractBinding

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

Creates the AbstractBinding.

Destructor

~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.

setBinder

void setBinder(
    BinderPtr pBinder
);

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