<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDesign_Pattern%2FAdapter_Pattern</id>
		<title>Java/Design Pattern/Adapter Pattern - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDesign_Pattern%2FAdapter_Pattern"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Design_Pattern/Adapter_Pattern&amp;action=history"/>
		<updated>2026-04-16T09:42:19Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Design_Pattern/Adapter_Pattern&amp;diff=7827&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Design_Pattern/Adapter_Pattern&amp;diff=7827&amp;oldid=prev"/>
				<updated>2010-06-01T06:50:59Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:50, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Design_Pattern/Adapter_Pattern&amp;diff=7826&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Design_Pattern/Adapter_Pattern&amp;diff=7826&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Adapter Pattern - Example  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Software Architecture Design Patterns in Java&lt;br /&gt;
by Partha Kuchana &lt;br /&gt;
Auerbach Publications&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import java.awt.event.WindowAdapter;&lt;br /&gt;
import java.awt.event.WindowEvent;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JComboBox;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JTextField;&lt;br /&gt;
import javax.swing.SwingUtilities;&lt;br /&gt;
import javax.swing.UIManager;&lt;br /&gt;
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;&lt;br /&gt;
public class AddressManager extends JFrame {&lt;br /&gt;
  public static final String newline = &amp;quot;\n&amp;quot;;&lt;br /&gt;
  public static final String VALIDATE = &amp;quot;Validate&amp;quot;;&lt;br /&gt;
  public static final String EXIT = &amp;quot;Exit&amp;quot;;&lt;br /&gt;
  private JTextField txtCustomerName, txtAddress, txtZip, txtState;&lt;br /&gt;
  private JLabel lblCustomerName, lblAddress;&lt;br /&gt;
  private JLabel lblZip, lblState, lblType;&lt;br /&gt;
  private JComboBox cmbAddressType;&lt;br /&gt;
  private JLabel lblResult, lblResultValue;&lt;br /&gt;
  public AddressManager() {&lt;br /&gt;
    super(&amp;quot; Adapter Pattern - Example &amp;quot;);&lt;br /&gt;
    txtCustomerName = new JTextField(20);&lt;br /&gt;
    txtAddress = new JTextField(20);&lt;br /&gt;
    txtZip = new JTextField(10);&lt;br /&gt;
    txtState = new JTextField(10);&lt;br /&gt;
    cmbAddressType = new JComboBox();&lt;br /&gt;
    cmbAddressType.addItem(Customer.US);&lt;br /&gt;
    cmbAddressType.addItem(Customer.CANADA);&lt;br /&gt;
    lblCustomerName = new JLabel(&amp;quot;Customer Name:&amp;quot;);&lt;br /&gt;
    lblAddress = new JLabel(&amp;quot;Address:&amp;quot;);&lt;br /&gt;
    lblZip = new JLabel(&amp;quot;Zip/PostalCode:&amp;quot;);&lt;br /&gt;
    lblState = new JLabel(&amp;quot;State/Province:&amp;quot;);&lt;br /&gt;
    lblType = new JLabel(&amp;quot;Address Type:&amp;quot;);&lt;br /&gt;
    lblResult = new JLabel(&amp;quot;Result:&amp;quot;);&lt;br /&gt;
    lblResultValue = new JLabel(&amp;quot;Click the Validate Button&amp;quot;);&lt;br /&gt;
    //Create the open button&lt;br /&gt;
    JButton validateButton = new JButton(AddressManager.VALIDATE);&lt;br /&gt;
    validateButton.setMnemonic(KeyEvent.VK_V);&lt;br /&gt;
    JButton exitButton = new JButton(AddressManager.EXIT);&lt;br /&gt;
    exitButton.setMnemonic(KeyEvent.VK_X);&lt;br /&gt;
    ButtonHandler objButtonHandler = new ButtonHandler(this);&lt;br /&gt;
    validateButton.addActionListener(objButtonHandler);&lt;br /&gt;
    exitButton.addActionListener(new ButtonHandler());&lt;br /&gt;
    JPanel captionPanel = new JPanel();&lt;br /&gt;
    String captionText = &amp;quot;&amp;lt;html&amp;gt;&amp;lt;b&amp;gt;&amp;lt;font color=cc0000 size=+1&amp;gt;&amp;quot;&lt;br /&gt;
        + &amp;quot;Adapter Pattern Example&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;;&lt;br /&gt;
    JLabel captionLabel = new JLabel(captionText);&lt;br /&gt;
    captionPanel.add(captionLabel);&lt;br /&gt;
    JPanel UIPanel = new JPanel();&lt;br /&gt;
    //****************************************************&lt;br /&gt;
    GridBagLayout gridbag = new GridBagLayout();&lt;br /&gt;
    UIPanel.setLayout(gridbag);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    UIPanel.add(lblCustomerName);&lt;br /&gt;
    UIPanel.add(txtCustomerName);&lt;br /&gt;
    UIPanel.add(lblAddress);&lt;br /&gt;
    UIPanel.add(txtAddress);&lt;br /&gt;
    UIPanel.add(lblZip);&lt;br /&gt;
    UIPanel.add(txtZip);&lt;br /&gt;
    UIPanel.add(lblState);&lt;br /&gt;
    UIPanel.add(txtState);&lt;br /&gt;
    UIPanel.add(lblType);&lt;br /&gt;
    UIPanel.add(cmbAddressType);&lt;br /&gt;
    UIPanel.add(lblResult);&lt;br /&gt;
    UIPanel.add(lblResultValue);&lt;br /&gt;
    UIPanel.add(validateButton);&lt;br /&gt;
    UIPanel.add(exitButton);&lt;br /&gt;
    gbc.insets.top = 5;&lt;br /&gt;
    gbc.insets.bottom = 5;&lt;br /&gt;
    gbc.insets.left = 5;&lt;br /&gt;
    gbc.insets.right = 5;&lt;br /&gt;
    gbc.anchor = GridBagConstraints.WEST;&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 0;&lt;br /&gt;
    gridbag.setConstraints(lblCustomerName, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 0;&lt;br /&gt;
    gridbag.setConstraints(txtCustomerName, gbc);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    gridbag.setConstraints(lblAddress, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    gridbag.setConstraints(txtAddress, gbc);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 2;&lt;br /&gt;
    gridbag.setConstraints(lblZip, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 2;&lt;br /&gt;
    gridbag.setConstraints(txtZip, gbc);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 3;&lt;br /&gt;
    gridbag.setConstraints(lblState, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 3;&lt;br /&gt;
    gridbag.setConstraints(txtState, gbc);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 4;&lt;br /&gt;
    gridbag.setConstraints(lblType, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 4;&lt;br /&gt;
    gridbag.setConstraints(cmbAddressType, gbc);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 5;&lt;br /&gt;
    gridbag.setConstraints(lblResult, gbc);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 5;&lt;br /&gt;
    gridbag.setConstraints(lblResultValue, gbc);&lt;br /&gt;
    //gbc.anchor = GridBagConstraints.CENTER;&lt;br /&gt;
    gbc.insets.left = 2;&lt;br /&gt;
    gbc.insets.right = 2;&lt;br /&gt;
    gbc.insets.top = 40;&lt;br /&gt;
    JPanel buttonPanel = new JPanel();&lt;br /&gt;
    buttonPanel.add(validateButton);&lt;br /&gt;
    buttonPanel.add(exitButton);&lt;br /&gt;
    UIPanel.add(buttonPanel);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 6;&lt;br /&gt;
    gridbag.setConstraints(buttonPanel, gbc);&lt;br /&gt;
    //&lt;br /&gt;
    //Add the buttons and the log to the frame&lt;br /&gt;
    Container contentPane = getContentPane();&lt;br /&gt;
    contentPane.add(UIPanel, BorderLayout.CENTER);&lt;br /&gt;
    try {&lt;br /&gt;
      UIManager.setLookAndFeel(new WindowsLookAndFeel());&lt;br /&gt;
      SwingUtilities.updateComponentTreeUI(AddressManager.this);&lt;br /&gt;
    } catch (Exception ex) {&lt;br /&gt;
      System.out.println(ex);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame frame = new AddressManager();&lt;br /&gt;
    frame.addWindowListener(new WindowAdapter() {&lt;br /&gt;
      public void windowClosing(WindowEvent e) {&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    //frame.pack();&lt;br /&gt;
    frame.setSize(350, 300);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public String getCustomerName() {&lt;br /&gt;
    return txtCustomerName.getText();&lt;br /&gt;
  }&lt;br /&gt;
  public String getAddress() {&lt;br /&gt;
    return txtAddress.getText();&lt;br /&gt;
  }&lt;br /&gt;
  public String getZip() {&lt;br /&gt;
    return txtZip.getText();&lt;br /&gt;
  }&lt;br /&gt;
  public String getAddrState() {&lt;br /&gt;
    return txtState.getText();&lt;br /&gt;
  }&lt;br /&gt;
  public String getAddressType() {&lt;br /&gt;
    return (String) cmbAddressType.getSelectedItem();&lt;br /&gt;
  }&lt;br /&gt;
  public void setResultValue(String str) {&lt;br /&gt;
    lblResultValue.setText(str);&lt;br /&gt;
  }&lt;br /&gt;
} // End of class AddressManager&lt;br /&gt;
class ButtonHandler implements ActionListener {&lt;br /&gt;
  AddressManager objAddressManager;&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    String validationResult = null;&lt;br /&gt;
    //System.out.println(e.getActionCommand());&lt;br /&gt;
    if (e.getActionCommand().equals(AddressManager.EXIT)) {&lt;br /&gt;
      System.exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    if (e.getActionCommand().equals(AddressManager.VALIDATE)) {&lt;br /&gt;
      String custName = objAddressManager.getCustomerName();&lt;br /&gt;
      String address = objAddressManager.getAddress();&lt;br /&gt;
      String zip = objAddressManager.getZip();&lt;br /&gt;
      String state = objAddressManager.getAddrState();&lt;br /&gt;
      String addressType = objAddressManager.getAddressType();&lt;br /&gt;
      //Create a customer object&lt;br /&gt;
      Customer objCustomer = new Customer(custName, address, zip, state,&lt;br /&gt;
          addressType);&lt;br /&gt;
      //Check if the address is valid&lt;br /&gt;
      if (objCustomer.isValidCustomerAddress()) {&lt;br /&gt;
        validationResult = &amp;quot;Valid customer data&amp;quot;;&lt;br /&gt;
      } else {&lt;br /&gt;
        validationResult = &amp;quot;Invalid customer data&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      objAddressManager.setResultValue(validationResult);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public ButtonHandler() {&lt;br /&gt;
  }&lt;br /&gt;
  public ButtonHandler(AddressManager inObjAddressManager) {&lt;br /&gt;
    objAddressManager = inObjAddressManager;&lt;br /&gt;
  }&lt;br /&gt;
} // End of class ButtonHandler&lt;br /&gt;
class USAddress extends AddressValidator {&lt;br /&gt;
  public boolean isValidAddress(String inp_address, String inp_zip,&lt;br /&gt;
      String inp_state) {&lt;br /&gt;
    if (inp_address.trim().length() &amp;lt; 10)&lt;br /&gt;
      return false;&lt;br /&gt;
    if (inp_zip.trim().length() &amp;lt; 5)&lt;br /&gt;
      return false;&lt;br /&gt;
    if (inp_zip.trim().length() &amp;gt; 10)&lt;br /&gt;
      return false;&lt;br /&gt;
    if (inp_state.trim().length() != 2)&lt;br /&gt;
      return false;&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
}// end of class&lt;br /&gt;
class Customer {&lt;br /&gt;
  public static final String US = &amp;quot;US&amp;quot;;&lt;br /&gt;
  public static final String CANADA = &amp;quot;Canada&amp;quot;;&lt;br /&gt;
  private String address;&lt;br /&gt;
  private String name;&lt;br /&gt;
  private String zip, state, type;&lt;br /&gt;
  public boolean isValidCustomerAddress() {&lt;br /&gt;
    if (type.equals(Customer.US)) {&lt;br /&gt;
      USAddress us = new USAddress();&lt;br /&gt;
      return us.isValidAddress(address, zip, state);&lt;br /&gt;
    }&lt;br /&gt;
    if (type.equals(Customer.CANADA)) {&lt;br /&gt;
      CAAddress objCAAddress = new CAAddress();&lt;br /&gt;
      CAAddressAdapter adapter = new CAAddressAdapter(objCAAddress);&lt;br /&gt;
      return adapter.isValidAddress(address, zip, state);&lt;br /&gt;
    }&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  public Customer(String inp_name, String inp_address, String inp_zip,&lt;br /&gt;
      String inp_state, String inp_type) {&lt;br /&gt;
    name = inp_name;&lt;br /&gt;
    address = inp_address;&lt;br /&gt;
    zip = inp_zip;&lt;br /&gt;
    state = inp_state;&lt;br /&gt;
    type = inp_type;&lt;br /&gt;
  }&lt;br /&gt;
}// end of class&lt;br /&gt;
class CAAddressAdapter extends AddressValidator {&lt;br /&gt;
  private CAAddress objCAAddress;&lt;br /&gt;
  public CAAddressAdapter(CAAddress address) {&lt;br /&gt;
    objCAAddress = address;&lt;br /&gt;
  }&lt;br /&gt;
  public boolean isValidAddress(String inp_address, String inp_zip,&lt;br /&gt;
      String inp_state) {&lt;br /&gt;
    return objCAAddress&lt;br /&gt;
        .isValidCanadianAddr(inp_address, inp_zip, inp_state);&lt;br /&gt;
  }&lt;br /&gt;
}// end of class&lt;br /&gt;
class CAAddress {&lt;br /&gt;
  public boolean isValidCanadianAddr(String inp_address, String inp_pcode,&lt;br /&gt;
      String inp_prvnc) {&lt;br /&gt;
    if (inp_address.trim().length() &amp;lt; 15)&lt;br /&gt;
      return false;&lt;br /&gt;
    if (inp_pcode.trim().length() != 6)&lt;br /&gt;
      return false;&lt;br /&gt;
    if (inp_prvnc.trim().length() &amp;lt; 6)&lt;br /&gt;
      return false;&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
}// end of class&lt;br /&gt;
abstract class AddressValidator {&lt;br /&gt;
  public abstract boolean isValidAddress(String inp_address, String inp_zip,&lt;br /&gt;
      String inp_state);&lt;br /&gt;
}// end of class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adapter Pattern in Java 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
//[C] 2002 Sun Microsystems, Inc.---&lt;br /&gt;
public class RunAdapterPattern {&lt;br /&gt;
    public static void main(String [] arguments){&lt;br /&gt;
        System.out.println(&amp;quot;Example for the Adapter pattern&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        System.out.println(&amp;quot;This example will demonstrate the Adapter by using the&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; class ContactAdapter to translate from classes written&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; in a foreign language (Chovnatlh and ChovnatlhImpl),&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; enabling their code to satisfy the Contact interface.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;Creating a new ContactAdapter. This will, by extension,&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; create an instance of ChovnatlhImpl which will provide&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; the underlying Contact implementation.&amp;quot;);&lt;br /&gt;
        Contact contact = new ContactAdapter();&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;ContactAdapter created. Setting contact data.&amp;quot;);&lt;br /&gt;
        contact.setFirstName(&amp;quot;Thomas&amp;quot;);&lt;br /&gt;
        contact.setLastName(&amp;quot;Williamson&amp;quot;);&lt;br /&gt;
        contact.setTitle(&amp;quot;Science Officer&amp;quot;);&lt;br /&gt;
        contact.setOrganization(&amp;quot;W3C&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;ContactAdapter data has been set. Printing out Contact data.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        System.out.println(contact.toString());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
interface Contact{&lt;br /&gt;
    public String getFirstName();&lt;br /&gt;
    public String getLastName();&lt;br /&gt;
    public String getTitle();&lt;br /&gt;
    public String getOrganization();&lt;br /&gt;
    &lt;br /&gt;
    public void setContact(Chovnatlh newContact);&lt;br /&gt;
    public void setFirstName(String newFirstName);&lt;br /&gt;
    public void setLastName(String newLastName);&lt;br /&gt;
    public void setTitle(String newTitle);&lt;br /&gt;
    public void setOrganization(String newOrganization);&lt;br /&gt;
}&lt;br /&gt;
class ContactAdapter implements Contact{&lt;br /&gt;
    private Chovnatlh contact;&lt;br /&gt;
    &lt;br /&gt;
    public ContactAdapter(){&lt;br /&gt;
        contact = new ChovnatlhImpl();&lt;br /&gt;
    }&lt;br /&gt;
    public ContactAdapter(Chovnatlh newContact){&lt;br /&gt;
        contact = newContact;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public String getFirstName(){&lt;br /&gt;
        return contact.tlhapWa$DIchPong();&lt;br /&gt;
    }&lt;br /&gt;
    public String getLastName(){&lt;br /&gt;
        return contact.tlhapQavPong();&lt;br /&gt;
    }&lt;br /&gt;
    public String getTitle(){&lt;br /&gt;
        return contact.tlhapPatlh();&lt;br /&gt;
    }&lt;br /&gt;
    public String getOrganization(){&lt;br /&gt;
        return contact.tlhapGhom();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void setContact(Chovnatlh newContact){&lt;br /&gt;
        contact = newContact;&lt;br /&gt;
    }&lt;br /&gt;
    public void setFirstName(String newFirstName){&lt;br /&gt;
        contact.cherWa$DIchPong(newFirstName);&lt;br /&gt;
    }&lt;br /&gt;
    public void setLastName(String newLastName){&lt;br /&gt;
        contact.cherQavPong(newLastName);&lt;br /&gt;
    }&lt;br /&gt;
    public void setTitle(String newTitle){&lt;br /&gt;
        contact.cherPatlh(newTitle);&lt;br /&gt;
    }&lt;br /&gt;
    public void setOrganization(String newOrganization){&lt;br /&gt;
        contact.cherGhom(newOrganization);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public String toString(){&lt;br /&gt;
        return contact.toString();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
interface Chovnatlh {&lt;br /&gt;
  public String tlhapWa$DIchPong();&lt;br /&gt;
  public String tlhapQavPong();&lt;br /&gt;
  public String tlhapPatlh();&lt;br /&gt;
  public String tlhapGhom();&lt;br /&gt;
  public void cherWa$DIchPong(String chu$wa$DIchPong);&lt;br /&gt;
  public void cherQavPong(String chu$QavPong);&lt;br /&gt;
  public void cherPatlh(String chu$patlh);&lt;br /&gt;
  public void cherGhom(String chu$ghom);&lt;br /&gt;
}&lt;br /&gt;
//pong = name&lt;br /&gt;
//wa&amp;quot;DIch = first&lt;br /&gt;
//Qav = last&lt;br /&gt;
//patlh = rank (title)&lt;br /&gt;
//ghom = group (organization)&lt;br /&gt;
//tlhap = take (get)&lt;br /&gt;
//cher = set up (set)&lt;br /&gt;
//chu&amp;quot; = new&lt;br /&gt;
//chovnatlh = specimen (contact)&lt;br /&gt;
class ChovnatlhImpl implements Chovnatlh {&lt;br /&gt;
  private String wa$DIchPong;&lt;br /&gt;
  private String QavPong;&lt;br /&gt;
  private String patlh;&lt;br /&gt;
  private String ghom;&lt;br /&gt;
  public ChovnatlhImpl() {&lt;br /&gt;
  }&lt;br /&gt;
  public ChovnatlhImpl(String chu$wa$DIchPong, String chu$QavPong,&lt;br /&gt;
      String chu$patlh, String chu$ghom) {&lt;br /&gt;
    wa$DIchPong = chu$wa$DIchPong;&lt;br /&gt;
    QavPong = chu$QavPong;&lt;br /&gt;
    patlh = chu$patlh;&lt;br /&gt;
    ghom = chu$ghom;&lt;br /&gt;
  }&lt;br /&gt;
  public String tlhapWa$DIchPong() {&lt;br /&gt;
    return wa$DIchPong;&lt;br /&gt;
  }&lt;br /&gt;
  public String tlhapQavPong() {&lt;br /&gt;
    return QavPong;&lt;br /&gt;
  }&lt;br /&gt;
  public String tlhapPatlh() {&lt;br /&gt;
    return patlh;&lt;br /&gt;
  }&lt;br /&gt;
  public String tlhapGhom() {&lt;br /&gt;
    return ghom;&lt;br /&gt;
  }&lt;br /&gt;
  public void cherWa$DIchPong(String chu$wa$DIchPong) {&lt;br /&gt;
    wa$DIchPong = chu$wa$DIchPong;&lt;br /&gt;
  }&lt;br /&gt;
  public void cherQavPong(String chu$QavPong) {&lt;br /&gt;
    QavPong = chu$QavPong;&lt;br /&gt;
  }&lt;br /&gt;
  public void cherPatlh(String chu$patlh) {&lt;br /&gt;
    patlh = chu$patlh;&lt;br /&gt;
  }&lt;br /&gt;
  public void cherGhom(String chu$ghom) {&lt;br /&gt;
    ghom = chu$ghom;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return wa$DIchPong + &amp;quot; &amp;quot; + QavPong + &amp;quot;: &amp;quot; + patlh + &amp;quot;, &amp;quot; + ghom;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>