#pragma once
#include "util/AgObject.h"
#include "util/Comparable.h"
#include "util/Cloneable.h"

class AgLong : public AgObject, public Comparable, public Cloneable
{
public:
    AgLong(int64_t val);

    int64_t getValue();

    int compareTo(Comparable *obj);
    virtual std::string getClass();
    virtual int hashCode();
    virtual bool equals(AgObject* obj);
    virtual AgString toString();
    virtual Cloneable *clone();

private:
    int64_t value;
};

