U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Java native interface code generator

Patent 6066181 Issued on May 23, 2000. Estimated Expiration Date: Icon_subject December 8, 2017. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Method for translating graphical user interface (GUI) resource data into native java code Patent #: 5974256
Issued on: 10/26/1999
Inventor: Matthews, et al.

Inventor

Assignee

Application

No. 986114 filed on 12/08/1997

US Classes:

717/148, Just-in-time compiling or dynamic compiling (e.g., compiling Java bytecode on a virtual machine)717/108, Object oriented717/118, Bytecode (e.g., Java)717/142, Scanning and lexical analysis719/328APPLICATION PROGRAM INTERFACE (API)

Examiners

Primary: Voeltz, Emanuel T.
Assistant: Dam, Tuan Q.

International Class

G06F 009/45

Abstract

A Java native interface code generator is disclosed to facilitate mixed language programming, by making native code programmed in a native language accessible to Java application programs. A programmer generates a native interface definition for native code, preferably using a neutral Interface Definition Language (IDL) to describe native code components (functions, data structures, constants and other user-defined data types), for which native mappings are to be generated. The Java native interface code generator supports complex data types, including nested data structures and multi-dimensional arrays. The Java native interface code generator reads and parses the user-derived native interface definition and generates Java Classes, data conversion code stubs and related header files. The Java Classes consist of classes of native methods, as well as classes for complex data types, which are called from Java. Each native method is mapped to a function or procedure written in the native code, using the Java Native Interface (JNI). The data conversion code stubs (JNI code) convert and map the native data and functions between the native language and Java. The Java class generated for complex data types, such as structures and unions, extends another Java class, JStruct or JUnion, respectively. The JStruct and JUnion classes implement Java Serializable and Cloneable interfaces and provides the core functionality for all data structures and unions, respectively, mapped to Java objects. Each Java data structure and union "extends" the JStruct or JUnion class and thereby inherits the behavior and characteristics of the JStruct or JUnion class, including memory management features. The JStruct and JUnion classes preferably provide methods for converting between members of a native language data structure or union, as appropriate, and fields of a Java object, as well as additional memory management functionality.

Other References

  • "Coroutine for Java," downloaded from www.nevaobject.com/java/jcoro/jcoromain.html on Oct. 17, 1997
  • "Java Native Interface Specification," JavaSoft, Sun Microsystems, Inc., of Mountain View, CA (May, 1997)
  • OMG Interface Definition Language, see Corba v2.1 Specification, Ch. 3, OMG IDL Syntax and Semantics (Objects Management Group Aug., 1997), downloaded from www.omg.org
  • "Twin Peaks White Paper: Bringing Together C++ and Java," downloaded from www.ilog.com/html/about-- twinpeaks-- white-- paper.html (Mar. 26, 1996)
  • Ilog, "Twin Peaks White Paper: Bringing Together C+ + and Java," www.ilog.com/html/about-- twinpeaks-- white-- paper.html, Mar. 1996
  • Tommy Thorn, "Programming Languages for Mobile Code," ACM Computing Surveys, Sep. 199
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?