#ifndef CACHEABLENODE_HPP_INCLUDED
#define CACHEABLENODE_HPP_INCLUDED

#include "Node.hpp"
#include "../JavaClass/Class.hpp"

namespace Internal
{
    class CacheableNode : public Node
    {
        public:
            CacheableNode(const void* Obj);

            CacheableNode() = default;
            CacheableNode(CacheableNode&& Obj) = default;
            CacheableNode(const CacheableNode& Obj) = default;
            CacheableNode& operator=(CacheableNode&& Obj) = default;
            CacheableNode& operator=(const CacheableNode& Obj) = default;

            static Class GetClass();

            CacheableNode GetNext() const;
            CacheableNode GetPrev() const;

    };
}

#endif // CACHEABLENODE_HPP_INCLUDED
