class Core::Portable::AttributesBuilder

Build attributes using AttributeHandler interface.

#include <corepersistence.h>

class AttributesBuilder: public Core::AttributeHandler
{
public:
    // structs

    struct State;

    // construction

    AttributesBuilder(Attributes& root, bool initState = true);

    // methods

    virtual void startObject(CStringPtr id, int flags = 0);
    virtual void endObject(CStringPtr id, int flags = 0);
    virtual void startArray(CStringPtr id, int flags = 0);
    virtual void endArray(CStringPtr id, int flags = 0);
    virtual void setValue(CStringPtr id, int64 value, int flags = 0);
    virtual void setValue(CStringPtr id, double value, int flags = 0);
    virtual void setValue(CStringPtr id, bool value, int flags = 0);
    virtual void setValue(CStringPtr id, CStringPtr value, int flags = 0);
    virtual void setNullValue(CStringPtr id, int flags = 0);
};

Inherited Members

public:
    // enums

    enum Flags;

    // methods

    virtual void startObject(CStringPtr id, int flags = 0) = 0;
    virtual void endObject(CStringPtr id, int flags = 0) = 0;
    virtual void startArray(CStringPtr id, int flags = 0) = 0;
    virtual void endArray(CStringPtr id, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, int64 value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, double value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, bool value, int flags = 0) = 0;
    virtual void setValue(CStringPtr id, CStringPtr value, int flags = 0) = 0;
    virtual void setNullValue(CStringPtr id, int flags = 0) = 0;
    void setValue(CStringPtr id, int value, int flags = 0);
    void setValue(CStringPtr id, float value, int flags = 0);