001 /* 002 * Copyright 2005,2009 Ivan SZKIBA 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.ini4j.sample; 017 018 import java.beans.PropertyChangeListener; 019 import java.beans.PropertyChangeSupport; 020 import java.beans.PropertyVetoException; 021 import java.beans.VetoableChangeListener; 022 import java.beans.VetoableChangeSupport; 023 024 import java.net.URI; 025 026 //<editor-fold defaultstate="collapsed" desc="apt documentation"> 027 //| 028 //| --------------- 029 //| DwarfBean class 030 //| 031 //|DwarfBean class 032 //| 033 //</editor-fold> 034 //{ 035 public class DwarfBean implements Dwarf 036 { 037 private int _age; 038 private int[] _fortuneNumber; 039 private double _height; 040 private String _homeDir; 041 private URI _homePage; 042 private final PropertyChangeSupport _pcSupport; 043 private final VetoableChangeSupport _vcSupport; 044 private double _weight; 045 046 public DwarfBean() 047 { 048 _pcSupport = new PropertyChangeSupport(this); 049 _vcSupport = new VetoableChangeSupport(this); 050 } 051 052 @Override public int getAge() 053 { 054 return _age; 055 } 056 057 @Override public void setAge(int value) 058 { 059 int old = _age; 060 061 _age = value; 062 063 _pcSupport.firePropertyChange(PROP_AGE, old, value); 064 } 065 066 @Override public int[] getFortuneNumber() 067 { 068 return _fortuneNumber; 069 } 070 071 @Override public void setFortuneNumber(int[] value) 072 { 073 _fortuneNumber = value; 074 } 075 076 @Override public double getHeight() 077 { 078 return _height; 079 } 080 081 @Override public void setHeight(double value) throws PropertyVetoException 082 { 083 _vcSupport.fireVetoableChange(PROP_HEIGHT, _height, value); 084 double old = _height; 085 086 _height = value; 087 088 _pcSupport.firePropertyChange(PROP_HEIGHT, old, value); 089 } 090 091 @Override public String getHomeDir() 092 { 093 return _homeDir; 094 } 095 096 @Override public void setHomeDir(String value) 097 { 098 String old = _homeDir; 099 100 _homeDir = value; 101 102 _pcSupport.firePropertyChange(PROP_HOME_DIR, old, value); 103 } 104 105 @Override public URI getHomePage() 106 { 107 return _homePage; 108 } 109 110 @Override public void setHomePage(URI value) 111 { 112 URI old = _homePage; 113 114 _homePage = value; 115 116 _pcSupport.firePropertyChange(PROP_HOME_PAGE, old, value); 117 } 118 119 @Override public double getWeight() 120 { 121 return _weight; 122 } 123 124 @Override public void setWeight(double value) 125 { 126 double old = _weight; 127 128 _weight = value; 129 130 _pcSupport.firePropertyChange(PROP_WEIGHT, old, value); 131 } 132 133 @Override public void addPropertyChangeListener(String property, PropertyChangeListener listener) 134 { 135 _pcSupport.addPropertyChangeListener(property, listener); 136 } 137 138 @Override public void addVetoableChangeListener(String property, VetoableChangeListener listener) 139 { 140 _vcSupport.addVetoableChangeListener(property, listener); 141 } 142 143 @Override public boolean hasAge() 144 { 145 return _age != 0; 146 } 147 148 @Override public boolean hasHeight() 149 { 150 return _height != 0.0; 151 } 152 153 @Override public boolean hasHomePage() 154 { 155 return _homePage != null; 156 } 157 158 @Override public boolean hasWeight() 159 { 160 return _weight != 0.0; 161 } 162 163 @Override public void removePropertyChangeListener(String property, PropertyChangeListener listener) 164 { 165 _pcSupport.removePropertyChangeListener(property, listener); 166 } 167 168 @Override public void removeVetoableChangeListener(String property, VetoableChangeListener listener) 169 { 170 _vcSupport.removeVetoableChangeListener(property, listener); 171 } 172 } 173 //}