<?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%2FFacade_Pattern</id>
		<title>Java/Design Pattern/Facade 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%2FFacade_Pattern"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Design_Pattern/Facade_Pattern&amp;action=history"/>
		<updated>2026-04-16T23:51:45Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Design_Pattern/Facade_Pattern&amp;diff=7781&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Design_Pattern/Facade_Pattern&amp;diff=7781&amp;oldid=prev"/>
				<updated>2010-06-01T06:50:36Z</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/Facade_Pattern&amp;diff=7780&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/Facade_Pattern&amp;diff=7780&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;== Facade Pattern ==&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;
           &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;
&lt;br /&gt;
== Facade Pattern 2 in Java  ==&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;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.ItemEvent;&lt;br /&gt;
import java.awt.event.ItemListener;&lt;br /&gt;
import java.awt.event.WindowAdapter;&lt;br /&gt;
import java.awt.event.WindowEvent;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.text.NumberFormat;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import javax.swing.BoxLayout;&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;
public class RunFacadePattern {&lt;br /&gt;
    public static void main(String [] arguments){&lt;br /&gt;
        System.out.println(&amp;quot;Example for the Facade pattern&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        System.out.println(&amp;quot;This code sample uses an InternationalizatgionWizard (a Facade)&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; to manage communication between the rest of the application and&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; a series of other classes.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        System.out.println(&amp;quot;The InternationalizatgionWizard maintains a colleciton of Nation&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; objects. When the setNation method is called, the wizard sets the&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; default nation, updating the Currency, PhoneNumber and localized&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; String resources (InternationalizedText) available.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        System.out.println(&amp;quot;Calls to get Strings for the GUI, the currency symbol or the dialing&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot; prefix are routed through the Facade, the InternationalizationWizard.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        &lt;br /&gt;
        if (!(new File(&amp;quot;data.ser&amp;quot;).exists())){&lt;br /&gt;
            DataCreator.serialize(&amp;quot;data.ser&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;Creating the InternationalizationWizard and setting the nation to US.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        InternationalizationWizard wizard = new InternationalizationWizard();&lt;br /&gt;
        wizard.setNation(&amp;quot;US&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;Creating the FacadeGui.&amp;quot;);&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        FacadeGui application = new FacadeGui(wizard);&lt;br /&gt;
        application.createGui();&lt;br /&gt;
        application.setNation(wizard.getNation(&amp;quot;US&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class FacadeGui implements ActionListener, ItemListener{&lt;br /&gt;
    private static final String GUI_TITLE = &amp;quot;title&amp;quot;;&lt;br /&gt;
    private static final String EXIT_CAPTION = &amp;quot;exit&amp;quot;;&lt;br /&gt;
    private static final String COUNTRY_LABEL = &amp;quot;country&amp;quot;;&lt;br /&gt;
    private static final String CURRENCY_LABEL = &amp;quot;currency&amp;quot;;&lt;br /&gt;
    private static final String PHONE_LABEL = &amp;quot;phone&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    private JFrame mainFrame;&lt;br /&gt;
    private JButton exit;&lt;br /&gt;
    private JComboBox countryChooser;&lt;br /&gt;
    private JPanel controlPanel, displayPanel;&lt;br /&gt;
    private JLabel countryLabel, currencyLabel, phoneLabel;&lt;br /&gt;
    private JTextField currencyTextField, phoneTextField;&lt;br /&gt;
    private InternationalizationWizard nationalityFacade;&lt;br /&gt;
    &lt;br /&gt;
    public FacadeGui(InternationalizationWizard wizard){&lt;br /&gt;
        nationalityFacade = wizard;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void createGui(){&lt;br /&gt;
        mainFrame = new JFrame(nationalityFacade.getProperty(GUI_TITLE));&lt;br /&gt;
        Container content = mainFrame.getContentPane();&lt;br /&gt;
        content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));&lt;br /&gt;
        &lt;br /&gt;
        displayPanel = new JPanel();&lt;br /&gt;
        displayPanel.setLayout(new GridLayout(3, 2));&lt;br /&gt;
        &lt;br /&gt;
        countryLabel = new JLabel(nationalityFacade.getProperty(COUNTRY_LABEL));&lt;br /&gt;
        countryChooser = new JComboBox(nationalityFacade.getNations());&lt;br /&gt;
        currencyLabel = new JLabel(nationalityFacade.getProperty(CURRENCY_LABEL));&lt;br /&gt;
        currencyTextField = new JTextField();&lt;br /&gt;
        phoneLabel = new JLabel(nationalityFacade.getProperty(PHONE_LABEL));&lt;br /&gt;
        phoneTextField = new JTextField();&lt;br /&gt;
        &lt;br /&gt;
        currencyTextField.setEditable(false);&lt;br /&gt;
        phoneTextField.setEditable(false);&lt;br /&gt;
        &lt;br /&gt;
        displayPanel.add(countryLabel);&lt;br /&gt;
        displayPanel.add(countryChooser);&lt;br /&gt;
        displayPanel.add(currencyLabel);&lt;br /&gt;
        displayPanel.add(currencyTextField);&lt;br /&gt;
        displayPanel.add(phoneLabel);&lt;br /&gt;
        displayPanel.add(phoneTextField);&lt;br /&gt;
        content.add(displayPanel);&lt;br /&gt;
        &lt;br /&gt;
        controlPanel = new JPanel();&lt;br /&gt;
        exit = new JButton(nationalityFacade.getProperty(EXIT_CAPTION));&lt;br /&gt;
        controlPanel.add(exit);&lt;br /&gt;
        content.add(controlPanel);&lt;br /&gt;
        &lt;br /&gt;
        exit.addActionListener(this);&lt;br /&gt;
        countryChooser.addItemListener(this);&lt;br /&gt;
        &lt;br /&gt;
        mainFrame.addWindowListener(new WindowCloseManager());&lt;br /&gt;
        mainFrame.pack();&lt;br /&gt;
        mainFrame.setVisible(true);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private void updateGui(){&lt;br /&gt;
        nationalityFacade.setNation(countryChooser.getSelectedItem().toString());&lt;br /&gt;
        mainFrame.setTitle(nationalityFacade.getProperty(GUI_TITLE));&lt;br /&gt;
        countryLabel.setText(nationalityFacade.getProperty(COUNTRY_LABEL));&lt;br /&gt;
        currencyLabel.setText(nationalityFacade.getProperty(CURRENCY_LABEL));&lt;br /&gt;
        phoneLabel.setText(nationalityFacade.getProperty(PHONE_LABEL));&lt;br /&gt;
        exit.setText(nationalityFacade.getProperty(EXIT_CAPTION));&lt;br /&gt;
        currencyTextField.setText(nationalityFacade.getCurrencySymbol() + &amp;quot; &amp;quot; +&lt;br /&gt;
            nationalityFacade.getNumberFormat().format(5280.50));&lt;br /&gt;
        phoneTextField.setText(nationalityFacade.getPhonePrefix());&lt;br /&gt;
        mainFrame.invalidate();&lt;br /&gt;
        countryLabel.invalidate();&lt;br /&gt;
        currencyLabel.invalidate();&lt;br /&gt;
        phoneLabel.invalidate();&lt;br /&gt;
        exit.invalidate();&lt;br /&gt;
        mainFrame.validate();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void actionPerformed(ActionEvent evt){&lt;br /&gt;
        Object originator = evt.getSource();&lt;br /&gt;
        if (originator == exit){&lt;br /&gt;
            exitApplication();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public void itemStateChanged(ItemEvent evt){&lt;br /&gt;
        Object originator = evt.getSource();&lt;br /&gt;
        if (originator == countryChooser){&lt;br /&gt;
            updateGui();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void setNation(Nation nation){&lt;br /&gt;
        countryChooser.setSelectedItem(nation);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private class WindowCloseManager extends WindowAdapter{&lt;br /&gt;
        public void windowClosing(WindowEvent evt){&lt;br /&gt;
            exitApplication();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private void exitApplication(){&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class Nation {&lt;br /&gt;
    private char symbol;&lt;br /&gt;
    private String name;&lt;br /&gt;
    private String dialingPrefix;&lt;br /&gt;
    private String propertyFileName;&lt;br /&gt;
    private NumberFormat numberFormat;&lt;br /&gt;
    &lt;br /&gt;
    public Nation(String newName, char newSymbol, String newDialingPrefix,&lt;br /&gt;
        String newPropertyFileName, NumberFormat newNumberFormat) {&lt;br /&gt;
        name = newName;&lt;br /&gt;
        symbol = newSymbol;&lt;br /&gt;
        dialingPrefix = newDialingPrefix;&lt;br /&gt;
        propertyFileName = newPropertyFileName;&lt;br /&gt;
        numberFormat = newNumberFormat;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public String getName(){ return name; }&lt;br /&gt;
    public char getSymbol(){ return symbol; }&lt;br /&gt;
    public String getDialingPrefix(){ return dialingPrefix; }&lt;br /&gt;
    public String getPropertyFileName(){ return propertyFileName; }&lt;br /&gt;
    public NumberFormat getNumberFormat(){ return numberFormat; }&lt;br /&gt;
    &lt;br /&gt;
    public String toString(){ return name; }&lt;br /&gt;
}&lt;br /&gt;
class Currency{&lt;br /&gt;
    private char currencySymbol;&lt;br /&gt;
    private NumberFormat numberFormat;&lt;br /&gt;
    &lt;br /&gt;
    public void setCurrencySymbol(char newCurrencySymbol){ currencySymbol = newCurrencySymbol; }&lt;br /&gt;
    public void setNumberFormat(NumberFormat newNumberFormat){ numberFormat = newNumberFormat; }&lt;br /&gt;
    &lt;br /&gt;
    public char getCurrencySymbol(){ return currencySymbol; }&lt;br /&gt;
    public NumberFormat getNumberFormat(){ return numberFormat; }&lt;br /&gt;
}&lt;br /&gt;
class DataCreator{&lt;br /&gt;
    private static final String GUI_TITLE = &amp;quot;title&amp;quot;;&lt;br /&gt;
    private static final String EXIT_CAPTION = &amp;quot;exit&amp;quot;;&lt;br /&gt;
    private static final String COUNTRY_LABEL = &amp;quot;country&amp;quot;;&lt;br /&gt;
    private static final String CURRENCY_LABEL = &amp;quot;currency&amp;quot;;&lt;br /&gt;
    private static final String PHONE_LABEL = &amp;quot;phone&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    public static void serialize(String fileName){&lt;br /&gt;
        saveFrData();&lt;br /&gt;
        saveUsData();&lt;br /&gt;
        saveNlData();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private static void saveFrData(){&lt;br /&gt;
        try{&lt;br /&gt;
            Properties textSettings = new Properties();&lt;br /&gt;
            textSettings.setProperty(GUI_TITLE, &amp;quot;Demonstration du Pattern Facade&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(EXIT_CAPTION, &amp;quot;Sortir&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(COUNTRY_LABEL, &amp;quot;Pays&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(CURRENCY_LABEL, &amp;quot;Monnaie&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(PHONE_LABEL, &amp;quot;Numero de Telephone&amp;quot;);&lt;br /&gt;
            textSettings.store(new FileOutputStream(&amp;quot;french.properties&amp;quot;), &amp;quot;French Settings&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException exc){&lt;br /&gt;
            System.err.println(&amp;quot;Error storing settings to output&amp;quot;);&lt;br /&gt;
            exc.printStackTrace();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void saveUsData(){&lt;br /&gt;
        try{&lt;br /&gt;
            Properties textSettings = new Properties();&lt;br /&gt;
            textSettings.setProperty(GUI_TITLE, &amp;quot;Facade Pattern Demonstration&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(EXIT_CAPTION, &amp;quot;Exit&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(COUNTRY_LABEL, &amp;quot;Country&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(CURRENCY_LABEL, &amp;quot;Currency&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(PHONE_LABEL, &amp;quot;Phone Number&amp;quot;);&lt;br /&gt;
            textSettings.store(new FileOutputStream(&amp;quot;us.properties&amp;quot;), &amp;quot;US Settings&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException exc){&lt;br /&gt;
            System.err.println(&amp;quot;Error storing settings to output&amp;quot;);&lt;br /&gt;
            exc.printStackTrace();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void saveNlData(){&lt;br /&gt;
        try{&lt;br /&gt;
            Properties textSettings = new Properties();&lt;br /&gt;
            textSettings.setProperty(GUI_TITLE, &amp;quot;Facade Pattern voorbeeld&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(EXIT_CAPTION, &amp;quot;Exit&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(COUNTRY_LABEL, &amp;quot;Land&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(CURRENCY_LABEL, &amp;quot;Munt eenheid&amp;quot;);&lt;br /&gt;
            textSettings.setProperty(PHONE_LABEL, &amp;quot;Telefoonnummer&amp;quot;);&lt;br /&gt;
            textSettings.store(new FileOutputStream(&amp;quot;dutch.properties&amp;quot;), &amp;quot;Dutch Settings&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException exc){&lt;br /&gt;
            System.err.println(&amp;quot;Error storing settings to output&amp;quot;);&lt;br /&gt;
            exc.printStackTrace();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class PhoneNumber {&lt;br /&gt;
    private static String selectedInterPrefix;&lt;br /&gt;
    private String internationalPrefix;&lt;br /&gt;
    private String areaNumber;&lt;br /&gt;
    private String netNumber;&lt;br /&gt;
    public PhoneNumber(String intPrefix, String areaNumber, String netNumber) {&lt;br /&gt;
        this.internationalPrefix = intPrefix;&lt;br /&gt;
        this.areaNumber = areaNumber;&lt;br /&gt;
        this.netNumber = netNumber;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public String getInternationalPrefix(){ return internationalPrefix; }&lt;br /&gt;
    public String getAreaNumber(){ return areaNumber; }&lt;br /&gt;
    public String getNetNumber(){ return netNumber; }&lt;br /&gt;
    public static String getSelectedInterPrefix(){ return selectedInterPrefix; }&lt;br /&gt;
    &lt;br /&gt;
    public void setInternationalPrefix(String newPrefix){ internationalPrefix = newPrefix; }&lt;br /&gt;
    public void setAreaNumber(String newAreaNumber){ areaNumber = newAreaNumber; }&lt;br /&gt;
    public void setNetNumber(String newNetNumber){ netNumber = newNetNumber; }&lt;br /&gt;
    public static void setSelectedInterPrefix(String prefix) { selectedInterPrefix = prefix; }&lt;br /&gt;
    &lt;br /&gt;
    public String toString(){&lt;br /&gt;
        return internationalPrefix + areaNumber + netNumber;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class InternationalizedText{&lt;br /&gt;
    private static final String DEFAULT_FILE_NAME = &amp;quot;&amp;quot;;&lt;br /&gt;
    private Properties textProperties = new Properties();&lt;br /&gt;
    &lt;br /&gt;
    public InternationalizedText(){&lt;br /&gt;
        this(DEFAULT_FILE_NAME);&lt;br /&gt;
    }&lt;br /&gt;
    public InternationalizedText(String fileName){&lt;br /&gt;
        loadProperties(fileName);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void setFileName(String newFileName){&lt;br /&gt;
        if (newFileName != null){&lt;br /&gt;
            loadProperties(newFileName);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public String getProperty(String key){&lt;br /&gt;
        return getProperty(key, &amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    public String getProperty(String key, String defaultValue){&lt;br /&gt;
        return textProperties.getProperty(key, defaultValue);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private void loadProperties(String fileName){&lt;br /&gt;
        try{&lt;br /&gt;
            FileInputStream input = new FileInputStream(fileName);&lt;br /&gt;
            textProperties.load(input);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException exc){&lt;br /&gt;
            textProperties = new Properties();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class InternationalizationWizard{&lt;br /&gt;
    private HashMap map;&lt;br /&gt;
    private Currency currency = new Currency();&lt;br /&gt;
    private InternationalizedText propertyFile = new InternationalizedText();&lt;br /&gt;
    &lt;br /&gt;
    public InternationalizationWizard() {&lt;br /&gt;
        map = new HashMap();&lt;br /&gt;
        Nation[] nations = {&lt;br /&gt;
            new Nation(&amp;quot;US&amp;quot;, &amp;quot;$&amp;quot;, &amp;quot;+1&amp;quot;, &amp;quot;us.properties&amp;quot;, NumberFormat.getInstance(Locale.US)),&lt;br /&gt;
            new Nation(&amp;quot;The Netherlands&amp;quot;, &amp;quot;f&amp;quot;, &amp;quot;+31&amp;quot;, &amp;quot;dutch.properties&amp;quot;, NumberFormat.getInstance(Locale.GERMANY)),&lt;br /&gt;
            new Nation(&amp;quot;France&amp;quot;, &amp;quot;f&amp;quot;, &amp;quot;+33&amp;quot;, &amp;quot;french.properties&amp;quot;, NumberFormat.getInstance(Locale.FRANCE))&lt;br /&gt;
        };&lt;br /&gt;
        for (int i = 0; i &amp;lt; nations.length; i++) {&lt;br /&gt;
            map.put(nations[i].getName(), nations[i]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void setNation(String name) {&lt;br /&gt;
        Nation nation = (Nation)map.get(name);&lt;br /&gt;
        if (nation != null) {&lt;br /&gt;
            currency.setCurrencySymbol(nation.getSymbol());&lt;br /&gt;
            currency.setNumberFormat(nation.getNumberFormat());&lt;br /&gt;
            PhoneNumber.setSelectedInterPrefix(nation.getDialingPrefix());&lt;br /&gt;
            propertyFile.setFileName(nation.getPropertyFileName());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public Object[] getNations(){&lt;br /&gt;
        return map.values().toArray();&lt;br /&gt;
    }&lt;br /&gt;
    public Nation getNation(String name){&lt;br /&gt;
        return (Nation)map.get(name);&lt;br /&gt;
    }&lt;br /&gt;
    public char getCurrencySymbol(){&lt;br /&gt;
        return currency.getCurrencySymbol();&lt;br /&gt;
    }&lt;br /&gt;
    public NumberFormat getNumberFormat(){&lt;br /&gt;
        return currency.getNumberFormat();&lt;br /&gt;
    }&lt;br /&gt;
    public String getPhonePrefix(){&lt;br /&gt;
        return PhoneNumber.getSelectedInterPrefix();&lt;br /&gt;
    }&lt;br /&gt;
    public String getProperty(String key){&lt;br /&gt;
        return propertyFile.getProperty(key);&lt;br /&gt;
    }&lt;br /&gt;
    public String getProperty(String key, String defaultValue){&lt;br /&gt;
        return propertyFile.getProperty(key, defaultValue);&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Facade pattern in Java ==&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;
The Design Patterns Java Companion&lt;br /&gt;
Copyright (C) 1998, by James W. Cooper&lt;br /&gt;
IBM Thomas J. Watson Research Center&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Button;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.Dialog;&lt;br /&gt;
import java.awt.Frame;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.Label;&lt;br /&gt;
import java.awt.List;&lt;br /&gt;
import java.awt.Panel;&lt;br /&gt;
import java.awt.TextArea;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.ItemEvent;&lt;br /&gt;
import java.awt.event.ItemListener;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DatabaseMetaData;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.ResultSetMetaData;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
public class DatabaseFrame extends Frame implements ActionListener,&lt;br /&gt;
    ItemListener {&lt;br /&gt;
  Database db;&lt;br /&gt;
  List Tables, Columns, Data;&lt;br /&gt;
  TextArea query;&lt;br /&gt;
  Button Search, Quit;&lt;br /&gt;
  public DatabaseFrame() {&lt;br /&gt;
    super(&amp;quot;Database demonstration&amp;quot;);&lt;br /&gt;
    setGUI();&lt;br /&gt;
    db = new Database(&amp;quot;sun.jdbc.odbc.JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
    db.Open(&amp;quot;jdbc:odbc:Grocery prices&amp;quot;, null);&lt;br /&gt;
    String tnames[] = db.getTableNames();&lt;br /&gt;
    loadList(Tables, tnames);&lt;br /&gt;
    String queryText = &amp;quot;SELECT * from yourTableName&amp;quot;;&lt;br /&gt;
    query.setText(queryText);&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void setGUI() {&lt;br /&gt;
    setBackground(Color.lightGray);&lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    Panel pn = new Panel();&lt;br /&gt;
    add(&amp;quot;North&amp;quot;, pn);&lt;br /&gt;
    pn.setLayout(new GridLayout(1, 3));&lt;br /&gt;
    pn.add(new Label(&amp;quot;Tables&amp;quot;));&lt;br /&gt;
    pn.add(new Label(&amp;quot;Columns&amp;quot;));&lt;br /&gt;
    pn.add(new Label(&amp;quot;Data&amp;quot;));&lt;br /&gt;
    Panel pc = new Panel();&lt;br /&gt;
    add(&amp;quot;Center&amp;quot;, pc);&lt;br /&gt;
    pc.setLayout(new GridLayout(1, 3));&lt;br /&gt;
    pc.add(Tables = new List(15));&lt;br /&gt;
    pc.add(Columns = new List(15));&lt;br /&gt;
    pc.add(Data = new List(15));&lt;br /&gt;
    Tables.addItemListener(this);&lt;br /&gt;
    Columns.addItemListener(this);&lt;br /&gt;
    Panel ps = new Panel();&lt;br /&gt;
    add(&amp;quot;South&amp;quot;, ps);&lt;br /&gt;
    ps.add(query = new TextArea(&amp;quot;&amp;quot;, 3, 40));&lt;br /&gt;
    addPanel(ps, Search = new Button(&amp;quot;Run Query&amp;quot;));&lt;br /&gt;
    addPanel(ps, Quit = new Button(&amp;quot;Quit&amp;quot;));&lt;br /&gt;
    Search.addActionListener(this);&lt;br /&gt;
    Quit.addActionListener(this);&lt;br /&gt;
    setBounds(100, 100, 500, 300);&lt;br /&gt;
    setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void addPanel(Panel ps, Component c) {&lt;br /&gt;
    Panel p = new Panel();&lt;br /&gt;
    ps.add(p);&lt;br /&gt;
    p.add(c);&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void loadList(List list, String[] s) {&lt;br /&gt;
    list.removeAll();&lt;br /&gt;
    for (int i = 0; i &amp;lt; s.length; i++)&lt;br /&gt;
      list.add(s[i]);&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    Object obj = e.getSource();&lt;br /&gt;
    if (obj == Quit)&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    if (obj == Search)&lt;br /&gt;
      clickedSearch();&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  public void itemStateChanged(ItemEvent e) {&lt;br /&gt;
    Object obj = e.getSource();&lt;br /&gt;
    if (obj == Tables)&lt;br /&gt;
      showColumns();&lt;br /&gt;
    if (obj == Columns)&lt;br /&gt;
      showData();&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void showColumns() {&lt;br /&gt;
    String cnames[] = db.getColumnNames(Tables.getSelectedItem());&lt;br /&gt;
    loadList(Columns, cnames);&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void showData() {&lt;br /&gt;
    String colname = Columns.getSelectedItem();&lt;br /&gt;
    String colval = db.getColumnValue(Tables.getSelectedItem(), colname);&lt;br /&gt;
    Data.setVisible(false);&lt;br /&gt;
    Data.removeAll();&lt;br /&gt;
    Data.setVisible(true);&lt;br /&gt;
    colval = db.getNextValue(Columns.getSelectedItem());&lt;br /&gt;
    while (colval.length() &amp;gt; 0) {&lt;br /&gt;
      Data.add(colval);&lt;br /&gt;
      colval = db.getNextValue(Columns.getSelectedItem());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  private void clickedSearch() {&lt;br /&gt;
    resultSet rs = db.Execute(query.getText());&lt;br /&gt;
    String cnames[] = rs.getMetaData();&lt;br /&gt;
    Columns.removeAll();&lt;br /&gt;
    queryDialog q = new queryDialog(this, rs);&lt;br /&gt;
    q.show();&lt;br /&gt;
  }&lt;br /&gt;
  //------------------------------------&lt;br /&gt;
  static public void main(String argv[]) {&lt;br /&gt;
    new DatabaseFrame();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class queryDialog extends Dialog implements ActionListener {&lt;br /&gt;
  resultSet results;&lt;br /&gt;
  Button OK;&lt;br /&gt;
  textPanel pc;&lt;br /&gt;
  Vector tables;&lt;br /&gt;
  public queryDialog(Frame f, resultSet r) {&lt;br /&gt;
    super(f, &amp;quot;Query Result&amp;quot;);&lt;br /&gt;
    results = r;&lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    OK = new Button(&amp;quot;OK&amp;quot;);&lt;br /&gt;
    Panel p = new Panel();&lt;br /&gt;
    add(&amp;quot;South&amp;quot;, p);&lt;br /&gt;
    p.add(OK);&lt;br /&gt;
    OK.addActionListener(this);&lt;br /&gt;
    pc = new textPanel();&lt;br /&gt;
    pc.setBackground(Color.white);&lt;br /&gt;
    add(&amp;quot;Center&amp;quot;, pc);&lt;br /&gt;
    makeTables();&lt;br /&gt;
    setBounds(100, 100, 500, 300);&lt;br /&gt;
    setVisible(true);&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
  //-------------------------------------&lt;br /&gt;
  private void makeTables() {&lt;br /&gt;
    tables = new Vector();&lt;br /&gt;
    String t[] = results.getMetaData();&lt;br /&gt;
    tables.addElement(t);&lt;br /&gt;
    while (results.hasMoreElements()) {&lt;br /&gt;
      tables.addElement(results.nextElement());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-------------------------------------&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    setVisible(false);&lt;br /&gt;
  }&lt;br /&gt;
  //-------------------------------------&lt;br /&gt;
  class textPanel extends Panel {&lt;br /&gt;
    public void paint(Graphics g) {&lt;br /&gt;
      String s[];&lt;br /&gt;
      int x = 0;&lt;br /&gt;
      int y = g.getFontMetrics().getHeight();&lt;br /&gt;
      int deltaX = (int) 1.5f&lt;br /&gt;
          * (g.getFontMetrics().stringWidth(&amp;quot;wwwwwwwwwwwwww&amp;quot;));&lt;br /&gt;
      for (int i = 0; i &amp;lt; tables.size(); i++) {&lt;br /&gt;
        s = (String[]) tables.elementAt(i);&lt;br /&gt;
        for (int j = 0; j &amp;lt; s.length; j++) {&lt;br /&gt;
          String st = s[j];&lt;br /&gt;
          g.drawString(st, x, y);&lt;br /&gt;
          x += deltaX;&lt;br /&gt;
        }&lt;br /&gt;
        x = 0;&lt;br /&gt;
        y += g.getFontMetrics().getHeight();&lt;br /&gt;
        if (i == 0)&lt;br /&gt;
          y += g.getFontMetrics().getHeight();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Database {&lt;br /&gt;
  Connection con;&lt;br /&gt;
  resultSet results;&lt;br /&gt;
  ResultSetMetaData rsmd;&lt;br /&gt;
  DatabaseMetaData dma;&lt;br /&gt;
  String catalog;&lt;br /&gt;
  String types[];&lt;br /&gt;
  String database_url;&lt;br /&gt;
  public Database(String driver) {&lt;br /&gt;
    types = new String[1];&lt;br /&gt;
    types[0] = &amp;quot;TABLES&amp;quot;; //initialize type array&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(driver);&lt;br /&gt;
    } //load the Bridge driver&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public void close() {&lt;br /&gt;
    try {&lt;br /&gt;
      con.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;close error&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public void Open(String url, String cat) {&lt;br /&gt;
    catalog = cat;&lt;br /&gt;
    database_url = url;&lt;br /&gt;
    try {&lt;br /&gt;
      con = DriverManager.getConnection(url);&lt;br /&gt;
      dma = con.getMetaData(); //get the meta data&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public void reOpen() {&lt;br /&gt;
    try {&lt;br /&gt;
      con = DriverManager.getConnection(database_url);&lt;br /&gt;
      dma = con.getMetaData(); //get the meta data&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] getTableNames() {&lt;br /&gt;
    String[] tbnames = null;&lt;br /&gt;
    Vector tname = new Vector();&lt;br /&gt;
    //add the table names to a Vector&lt;br /&gt;
    //since we don&amp;quot;t know how many there are&lt;br /&gt;
    try {&lt;br /&gt;
      results = new resultSet(dma.getTables(catalog, null, &amp;quot;%&amp;quot;, types));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e);&lt;br /&gt;
    }&lt;br /&gt;
    while (results.hasMoreElements())&lt;br /&gt;
      tname.addElement(results.getColumnValue(&amp;quot;TABLE_NAME&amp;quot;));&lt;br /&gt;
    //copy the table names into a String array&lt;br /&gt;
    tbnames = new String[tname.size()];&lt;br /&gt;
    for (int i = 0; i &amp;lt; tname.size(); i++)&lt;br /&gt;
      tbnames[i] = (String) tname.elementAt(i);&lt;br /&gt;
    return tbnames;&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] getTableMetaData() {&lt;br /&gt;
    // return the table type information&lt;br /&gt;
    results = null;&lt;br /&gt;
    try {&lt;br /&gt;
      results = new resultSet(dma.getTables(catalog, null, &amp;quot;%&amp;quot;, types));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return results.getMetaData();&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] getColumnMetaData(String tablename) {&lt;br /&gt;
    //return the data on a column&lt;br /&gt;
    results = null;&lt;br /&gt;
    try {&lt;br /&gt;
      results = new resultSet(dma.getColumns(catalog, null, tablename,&lt;br /&gt;
          null));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return results.getMetaData();&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] getColumnNames(String table) {&lt;br /&gt;
    //return an array of Column names&lt;br /&gt;
    String[] tbnames = null;&lt;br /&gt;
    Vector tname = new Vector();&lt;br /&gt;
    try {&lt;br /&gt;
      results = new resultSet(dma.getColumns(catalog, null, table, null));&lt;br /&gt;
      while (results.hasMoreElements())&lt;br /&gt;
        tname.addElement(results.getColumnValue(&amp;quot;COLUMN_NAME&amp;quot;));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e);&lt;br /&gt;
    }&lt;br /&gt;
    tbnames = new String[tname.size()];&lt;br /&gt;
    for (int i = 0; i &amp;lt; tname.size(); i++)&lt;br /&gt;
      tbnames[i] = (String) tname.elementAt(i);&lt;br /&gt;
    return tbnames;&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String getColumnValue(String table, String columnName) {&lt;br /&gt;
    //return the value of a given column&lt;br /&gt;
    String res = null;&lt;br /&gt;
    try {&lt;br /&gt;
      if (table.length() &amp;gt; 0)&lt;br /&gt;
        results = Execute(&amp;quot;Select &amp;quot; + columnName + &amp;quot; from &amp;quot; + table&lt;br /&gt;
            + &amp;quot; order by &amp;quot; + columnName);&lt;br /&gt;
      if (results.hasMoreElements())&lt;br /&gt;
        res = results.getColumnValue(columnName);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;Column value error&amp;quot; + columnName&lt;br /&gt;
          + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return res;&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String getNextValue(String columnName) {&lt;br /&gt;
    // return the next value in that column&lt;br /&gt;
    //using the remembered resultSet&lt;br /&gt;
    String res = &amp;quot;&amp;quot;;&lt;br /&gt;
    try {&lt;br /&gt;
      if (results.hasMoreElements())&lt;br /&gt;
        res = results.getColumnValue(columnName);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out&lt;br /&gt;
          .println(&amp;quot;next value error&amp;quot; + columnName + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return res;&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public resultSet Execute(String sql) {&lt;br /&gt;
    //execute an SQL query on this database&lt;br /&gt;
    results = null;&lt;br /&gt;
    try {&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      results = new resultSet(stmt.executeQuery(sql));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;execute error: &amp;quot; + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return results;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class resultSet {&lt;br /&gt;
  //this class is a higher level abstraction&lt;br /&gt;
  //of the JDBC ResultSet object&lt;br /&gt;
  ResultSet rs;&lt;br /&gt;
  ResultSetMetaData rsmd;&lt;br /&gt;
  int numCols;&lt;br /&gt;
  public resultSet(ResultSet rset) {&lt;br /&gt;
    rs = rset;&lt;br /&gt;
    try {&lt;br /&gt;
      //get the meta data and column count at once&lt;br /&gt;
      rsmd = rs.getMetaData();&lt;br /&gt;
      numCols = rsmd.getColumnCount();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;resultset error&amp;quot; + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] getMetaData() {&lt;br /&gt;
    //returns an array of all the column names&lt;br /&gt;
    //or other meta data&lt;br /&gt;
    String md[] = new String[numCols];&lt;br /&gt;
    try {&lt;br /&gt;
      for (int i = 1; i &amp;lt;= numCols; i++)&lt;br /&gt;
        md[i - 1] = rsmd.getColumnName(i);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;meta data error&amp;quot; + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return md;&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public boolean hasMoreElements() {&lt;br /&gt;
    try {&lt;br /&gt;
      return rs.next();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;next error &amp;quot; + e.getMessage());&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //-----------------------------------&lt;br /&gt;
  public String[] nextElement() {&lt;br /&gt;
    //copies contents of row into string array&lt;br /&gt;
    String[] row = new String[numCols];&lt;br /&gt;
    try {&lt;br /&gt;
      for (int i = 1; i &amp;lt;= numCols; i++)&lt;br /&gt;
        row[i - 1] = rs.getString(i);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;next element error&amp;quot; + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return row;&lt;br /&gt;
  }&lt;br /&gt;
  //-------------------------------------&lt;br /&gt;
  public String getColumnValue(String columnName) {&lt;br /&gt;
    String res = &amp;quot;&amp;quot;;&lt;br /&gt;
    try {&lt;br /&gt;
      res = rs.getString(columnName);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;Column value error:&amp;quot; + columnName&lt;br /&gt;
          + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return res;&lt;br /&gt;
  }&lt;br /&gt;
  //-------------------------------------&lt;br /&gt;
  public String getColumnValue(int i) {&lt;br /&gt;
    String res = &amp;quot;&amp;quot;;&lt;br /&gt;
    try {&lt;br /&gt;
      res = rs.getString(i);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;Column value error: &amp;quot; + i + &amp;quot; &amp;quot;&lt;br /&gt;
          + e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
    return res;&lt;br /&gt;
  }&lt;br /&gt;
  //----------------------------------------------&lt;br /&gt;
  public void finalize() {&lt;br /&gt;
    try {&lt;br /&gt;
      rs.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(e.getMessage());&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>