#ifndef QUEUE_HPP_INCLUDED
#define QUEUE_HPP_INCLUDED

#include "../JavaClass/Object.hpp"
#include "../JavaClass/Class.hpp"
#include "CacheableNode.hpp"

namespace Internal
{
    class Queue : public Object
    {
        public:
            Queue(const void* Obj);

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

            static Class GetClass();

            CacheableNode GetHead() const;

    };
}

#endif // QUEUE_HPP_INCLUDED
