Examples: Accessing database properties using Java™

This application gets the first database in the local directory and prints its database properties. The example demonstrates which properties require that the database be open.

import lotus.domino.*;
import java.util.Vector;
public class accessing extends NotesThread
{
  public static void main(String argv[])
    {
        accessing t = new accessing();
        t.start();
    }
  public void runNotes()
    {
    try
      {
        Session s = NotesFactory.createSession();
        DbDirectory Dir = s.getDbDirectory(null);
        Database db = Dir.getFirstDatabase(Dir.DATABASE);
// Database does not have to be open
        System.out.println
        ("DATABASE NOT OPEN");
        System.out.println
        ("Title:\t\t\t\t" + db.getTitle());
        System.out.println
        ("FileName:\t\t\t" + db.getFileName());
        System.out.println
        ("FilePath:\t\t\t" + db.getFilePath());
        System.out.println
        ("Server:\t\t\t\t" + db.getServer());
        System.out.println
        ("ReplicaID:\t\t\t" + db.getReplicaID());
        System.out.println
        ("DesignTemplateName:\t\t" + 
          db.getDesignTemplateName());
        System.out.println
        ("TemplateName:\t\t\t" + db.getTemplateName());
        System.out.println
        ("Categories:\t\t\t" + db.getCategories());
        System.out.println
        ("IsOpen:\t\t\t\t" + db.isOpen());
        System.out.println
        ("IsFTIndexed:\t\t\t" + db.isFTIndexed());
        System.out.println
        ("FTIndexFrequencey:\t\t" + db.getFTIndexFrequency());
        System.out.println
        ("IsInMultiDbIndexing:\t\t" + db.isInMultiDbIndexing());
        System.out.println
        ("IsPublicAddressBook:\t\t" + 
          db.isPublicAddressBook());
        System.out.println
        ("IsPrivateAddressBook:\t\t" + 
          db.isPrivateAddressBook());
        System.out.println
        ("IsInService:\t\t\t" + db.isInService());
        System.out.println
        ("IsPendingDelete:\t\t" + db.isPendingDelete());
        System.out.println
        ("DelayUpdates:\t\t\t" + db.isDelayUpdates());
        System.out.println
        ("SizeQuota:\t\t\t" + db.getSizeQuota());
        System.out.println
        ("MaxSize:\t\t\t" + db.getMaxSize());
        Session ps = db.getParent();
        System.out.println
        ("Parent platform:\t\t" + ps.getPlatform());
        System.out.println
        ("NotesURL\t\t\t" + db.getNotesURL());
        System.out.println
        ("HTTPURL\t\t\t" + db.getHTTPURL());
// Database must be open ...
        System.out.println("DATABASE OPEN");
        db.open();
// ... to set properties
        db.setTitle(db.getTitle() + " Redux
        System.out.println
        ("Title set to:\t\t\t" + db.getTitle());
       if (db.getCategories() == null)
          db.setCategories("Example databases");
        else
          db.setCategories(db.getCategories()
          + ";Example databases");
        System.out.println
        ("Categories set to:\t\t" + db.getCategories());
        db.setDelayUpdates(true);
        System.out.println
        ("DelayUpdates set to:\t\t" + db.isDelayUpdates());
        db.setSizeQuota(20000000);
        System.out.println
        ("SizeQuota set to:\t\t" + db.getSizeQuota());
// ... and to get these properties
        System.out.println
        ("Type:\t\t\t\t" + db.getType());
        System.out.println
        ("Created:\t\t\t" + db.getCreated().getLocalTime());
        System.out.println
        ("LastModified:\t\t\t" + 
          db.getLastModified().getLocalTime());
        System.out.println
        ("LastFTIndexed:\t\t\t" + 
          db.getLastFTIndexed().getLocalTime());
        System.out.println
        ("IsMultiDbSearch:\t\t" + db.isMultiDbSearch());
        System.out.println
        ("Size:\t\t\t\t" + (int)db.getSize() + " bytes");
        System.out.println
        ("PercentUsed:\t\t\t" + db.getPercentUsed());
        ACL acl = db.getACL();
        System.out.println
        ("ACL UniformAccess:\t\t" + acl.isUniformAccess());
        System.out.println
        ("CurrentAccessLevel:\t\t" + 
          db.getCurrentAccessLevel());
        System.out.println
        ("FolderReferencessEnabled:\t" + 
          db.getFolderReferencesEnabled());
        Vector managers = db.getManagers();
        System.out.print("Managers:\t\t\t");
        for (int i=0; i<managers.size(); i++)
            System.out.print("[" +
            (String)managers.elementAt(i) + "] ");
        System.out.println();
        System.out.println
        ("Replication Disabled:\t\t" +
        db.getReplicationInfo().isDisabled());
        Vector views = db.getViews();
        System.out.print("Views:\t\t\t\t");
        for (int i=0; i<views.size(); i++)
            System.out.print("[" +
            ((View)views.elementAt(i)).getName() + "]");
        System.out.println();
      }
    catch (Exception e)
      {
        e.printStackTrace();
      }
    }
}