001 package org.bridj.objc;
002 import org.bridj.*;
003 import org.bridj.objc.*;
004 import org.bridj.ann.Field;
005 import org.bridj.ann.Library;
006 import org.bridj.ann.Runtime;
007 import org.bridj.ann.Array;
008 import org.bridj.ann.Ptr;
009 import org.bridj.cpp.com.*;
010 import static org.bridj.Pointer.*;
011 import static org.bridj.BridJ.*;
012
013 @Library("Foundation")
014 public class NSNumber extends NSObject {
015 static {
016 BridJ.register();
017 }
018
019 public static native Pointer<NSNumber> numberWithBool(boolean value);
020 public static native Pointer<NSNumber> numberWithInt(int value);
021 public static native Pointer<NSNumber> numberWithDouble(double e);
022 public static native Pointer<NSNumber> numberWithLong(long value);
023 public static native Pointer<NSNumber> numberWithFloat(float value);
024
025 public native short shortValue();
026 public native int intValue();
027 public native long longValue();
028 public native float floatValue();
029 public native double doubleValue();
030 public native int compare(Pointer<NSNumber> another);
031
032 public native boolean isEqualToNumber(Pointer<NSNumber> another);
033
034 @Override
035 public boolean equals(Object o) {
036 if (!(o instanceof NSNumber))
037 return false;
038
039 NSNumber nn = (NSNumber)o;
040 return isEqualToNumber(pointerTo(nn));
041 }
042 }