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

class AgInteger : public AgObject, public Comparable, public Cloneable
{
public:
    AgInteger(int val);

    int getValue();

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

private:
    int value;
};

