#include "xpathnode.h"

XPathNode::XPathNode()
    : XAsset()
{
    SetName("Path Node");
}

void XPathNode::ParseData(XDataStream *aStream) {
    if (GetPtr() == -1) {
        mConstant.ParseData(aStream);
        mDynamic.ParseData(aStream);
        mTransient.ParseData(aStream);
    }
}

const XPathNodeConstant& XPathNode::GetConstant() const {
    return mConstant;
}

void XPathNode::SetConstant(const XPathNodeConstant& constant) {
    mConstant = constant;
}

const XPathNodeDynamic& XPathNode::GetDynamic() const {
    return mDynamic;
}

void XPathNode::SetDynamic(const XPathNodeDynamic& dynamic) {
    mDynamic = dynamic;
}

const XPathNodeTransient& XPathNode::GetTransient() const {
    return mTransient;
}

void XPathNode::SetTransient(const XPathNodeTransient& transient) {
    mTransient = transient;
}




