Examples: lockProvisional method (Form - Java)

This agent attempts to lock the form named "Main" for all members of the "Guys" group. Locking is successful if the form is not yet locked, or the form is locked but the effective user is a member of Guys. A provisional lock is placed.

import lotus.domino.*;

public class JavaAgent extends AgentBase {

  public void NotesMain() {

    try {
      Session session = getSession();
      AgentContext agentContext = session.getAgentContext();

      // (Your code goes here) 
      Database db = agentContext.getCurrentDatabase();
      
      // Design locking must be enabled
      if (db.isDesignLockingEnabled()) {
        // Get form and lock
        // Not locked if return is false or exception thrown
        Form form = db.getForm("Main");
        if (form.lockProvisional("Guys"))
          System.out.println("Form locked");
        else
          System.out.println("Form not locked");
      }
      else
        System.out.println("Design locking not enabled");

    } catch(NotesException e) {
      if (e.id == NotesError.NOTES_ERR_LOCKED)
        System.out.println("Form not locked (exception)");
      else
        e.printStackTrace();

    } catch(Exception e) {
      e.printStackTrace();
    }
  }
}