Package Name: java.lang.object_ops

Return to: Package List


with java.lang.String; use java.lang.String;
with java.lang.Class; use java.lang.Class;

package java.lang.Object_ops is
    -- This is logically a continuation of the java.lang.Object abstraction
    -- We separate it out to avoid running into circularity problems

    -- in Ada (since java.lang.String/Class both depend on Object)

    function getClass(Obj : access Object) return Class_Ptr;

    function hashCode(Obj : access Object) return Integer;
    function "="(Left, Right : Object) return Boolean;

    pragma Import(Ada, "=", "java/lang/Object.equals");

    function toString(Obj : access Object) return String_Ptr;

    procedure notify(Obj : access Object);

    procedure notifyAll(Obj : access Object);
    procedure wait(Obj : access Object;

        timeout : Long_Integer);
    procedure wait(Obj : access Object;
        timeout : Long_Integer;

        nanos : Integer);

    procedure wait(Obj : access Object);
    pragma Import(Java, wait, "java/lang/Object.wait");
    pragma Import(Java, getClass, "java/lang/Object.getClass");
    pragma Import(Java, hashCode, "java/lang/Object.hashCode");
    pragma Import(Java, notifyAll, "java/lang/Object.notifyAll");
    pragma Import(Java, notify, "java/lang/Object.notify");


    pragma Import(Java, toString, "java/lang/Object.toString");
end java.lang.Object_ops;