#ifndef PARAMETERINFO_HPP_INCLUDED
#define PARAMETERINFO_HPP_INCLUDED

#include "CacheableNode.hpp"
#include "../JavaClass/Class.hpp"
#include <string>

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

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

            static Class GetClass();

            std::int32_t GetInteger() const;
            std::string GetString() const;

    };
}

#endif // PARAMETERINFO_HPP_INCLUDED
