00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _BEECRYPT_CLASS_INTEGER_H
00024 #define _BEECRYPT_CLASS_INTEGER_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/lang/Comparable.h"
00031 using beecrypt::lang::Comparable;
00032 #include "beecrypt/c++/lang/Number.h"
00033 using beecrypt::lang::Number;
00034 #include "beecrypt/c++/lang/NumberFormatException.h"
00035 using beecrypt::lang::NumberFormatException;
00036
00037 namespace beecrypt {
00038 namespace lang {
00041 class BEECRYPTCXXAPI Integer : public beecrypt::lang::Number, public beecrypt::lang::Comparable<Integer>
00042 {
00043 private:
00044 javaint _val;
00045
00046 public:
00047 static const javaint MIN_VALUE;
00048 static const javaint MAX_VALUE;
00049
00050 static const String& toHexString(javaint l) throw ();
00051 static const String& toOctalString(javaint l) throw ();
00052 static const String& toString(javaint l) throw ();
00053
00054 static javaint parseInteger(const String& s) throw (NumberFormatException);
00055
00056 public:
00057 Integer(javaint value);
00058 Integer(const String& s) throw (NumberFormatException);
00059 virtual ~Integer() {};
00060
00061 virtual javabyte byteValue() const throw ();
00062 virtual javashort shortValue() const throw ();
00063 virtual javaint intValue() const throw ();
00064 virtual javalong longValue() const throw ();
00065
00066 virtual int compareTo(const Integer& anotherInteger) const throw ();
00067 };
00068 }
00069 }
00070
00071 #endif
00072
00073 #endif