Bob Balaban's Blog


    Bob Balaban


    "Programming Domino With Java" - Final Flush

    Bob Balaban  January 2 2012 03:56:33 AM
    Happy New Year, Geeks!

    Here's the 7th (and final) installment of the book. Thanks again for all the positive feedback.
    The first installment can be found here
    The 2nd installment is here
    The 3rd is here
    The 4th is here
    The 5th is here
    and the 6th is here

    All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me.

    Some Caveats and explanations:

    - This book is now 12 years old. There are lots of things in it that are amusingly dated, even laughable. One example: the absurd emphasis on Java Applets. They died an unlamented death due to bloating a long time ago, but at the time I wrote the book, they were a hot technology.
    - The formatting is not exactly as it first appeared in the book, and some of it is downright awkward. Sorry! The publisher converted the original files to Word for me, perhaps they forgot to select the "high-def" option.
    - The Java package described in the book (lotus.notes) was superseded by lotus.domino in R5 (1999? I think). The methods are all mostly the same. Of course, IBM have added lots more classes and methods than existed when the book was written. Also, the "recycle()" method had not yet been invented in Domino 4.6, so the memory issues that call addresses are not really covered.
    - The figures (screen shots and so on) referred to did not make it into any file format I can deal with, so I had to leave them out. Sorry! The code samples are mostly there, and I'll also post all of the files that were on the CD that came with the original book.

    This Installment

    This hunk is a zip file containing the contents of the CD that was included with the original book.
    Appendix F (previously posted) contains a description of the contents of the CD: Appendix F.pdf

    I have not gone back and checked that the samples still work. If you find that any do not, please let me know.
    The JavaDoc, of course, corresponds to the Notes v4.0 release. "NOI" has come a long way since then, and the whole lotus.notes package was pretty much obsoleted in Notes v5, but they may still be distributing it.

    Enjoy! Geek ya later

    (Need expert application development architecture/coding help?  Want me to help you invent directory services based on RDBMS? Need some Cloud-fu or some web services? Contact me at: bbalaban,
    Follow me on Twitter @LooseleafLLC
    This article ┬ęCopyright 2012 by Looseleaf Software LLC, all rights reserved. You may link to this page, but may not copy without prior approval.


    1Dennis van Remortel  01/03/2012 1:05:48 AM   Programming Domino With Java - Final Flush

    Thank you so much for this Bob!

    2Brian O’Donovan  01/04/2012 5:39:37 AM   Programming Domino With Java - Final Flush

    Thanks Bob - it was a very generous decision to publish this on-line

    3Starrow Pan  08/06/2014 1:39:47 AM  Untitled

    Thank you very much for this great sharing. It's amazing after so many years this book remains the most comprehensive source of information about Java programming with domino. It's a shame of IBM for developing domino into the current situation in which there is neither great enhancement to the API nor much interest about a new version of such a book due to falling behind other technologies and the ensuing shrinking market share.

    I'm curious about the technical internals of these API. As you mentioned in the book, LotusScript and Java API are just two bindings of the NOI that is implemented in C++ and C. I found the Lotus C++ API is like to but not identical to the LS/Java API. For example, LNDatabase, LNDatabaseArray class. I guess LS/Java API bind to this one. But in the Lotus C++ API 8.02 guide, there is the following question and answer.

    Can I call the C++ API from LotusScript?

    No, LotusScript cannot call the API directly because the API programs are executables that are linked to the API static libraries. The LotusScript interpreter is not linked to these static libraries, so it cannot invoke API functions. However, you could write an LSX that uses the C++ API and use that LSX in LotusScript.

    So the NOI is implemented other than the C++ API?

    What are the relations between the NOI, C API, C++ API and sometimes so called Notes API?