View Javadoc

1   /*
2    * Copyright 2005,2009 Ivan SZKIBA
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.ini4j.sample;
17  
18  //<editor-fold defaultstate="collapsed" desc="apt documentation">
19  //|
20  //|                       ---------------
21  //|                       BeanEventSample
22  //|
23  //|BeanEventSample
24  //|
25  //| A sample that demonstrates the handling of the bound bean properties.
26  //|
27  //| This sample program expect the .ini file as a command line argument.
28  //| If there is no such argument, it use the {{{dwarfs.ini.html}dwarfs.ini}} file.
29  //|
30  //| Source code for bean: {{{Dwarf.java.html}Dwarf}},
31  //|
32  //</editor-fold>
33  //{
34  import org.ini4j.Ini;
35  
36  import java.beans.PropertyChangeEvent;
37  import java.beans.PropertyChangeListener;
38  
39  import java.io.FileInputStream;
40  
41  public class BeanEventSample
42  {
43      public static final String FILENAME = "dwarfs.ini";
44  
45      public static void main(String[] args) throws Exception
46      {
47          String filename = (args.length > 0) ? args[0] : FILENAME;
48          Ini ini = new Ini(new FileInputStream(filename));
49          Dwarf sneezy = ini.get("sneezy").as(Dwarf.class);
50  
51          sneezy.addPropertyChangeListener("age", new PropertyChangeListener()
52              {
53                  public void propertyChange(PropertyChangeEvent event)
54                  {
55                      System.out.println("property " + event.getPropertyName() + " change");
56                      System.out.println(event.getOldValue() + " -> " + event.getNewValue());
57                  }
58              });
59          System.out.println("Sneezy's age: " + sneezy.getAge());
60          sneezy.setAge(44);
61          System.out.println("Sneezy's age: " + sneezy.getAge());
62      }
63  }
64  //}