/*
 * AddressBookField.java
 *
 * Copyright 2013 John W Dawson
 *
 * This code is distributed under the terms of the GNU General Public License, version 3
 *
 * This interface specifies methods that are common to different types of fields that can appear on the tabs
 */
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import javax.naming.directory.*;
public interface AddressBookField
{
  public void initialise ();
  public void addDocumentListener (DocumentListener listener);
  public void addFocusListener (FocusListener listener);
  public String getText();
  public byte [] getBinary();
  public void setText(String t);
  public void setDnField (Boolean terminal);
  public String getLdapAttribute ();
  public String getLabel ();
  public void setFocus ();
  public void setEnabled(boolean enabled);
  public void displayValue (SearchResult entry);
  public void clear ();
  public Boolean requiredEmpty ();
  public Boolean isTerminal ();
  public Boolean isDnField ();
  public Boolean validateText ();
  public String getValue (SearchResult entry);
  public CallButton getCallButton ();
  public void enableCallButton ();
  public void disableCallButton ();
  
}
