View Javadoc
1 package com.bonevich.erj.db; 2 3 import com.bonevich.java.util.ImmutableIterator; 4 5 import java.util.*; 6 7 /*** 8 * ClassDescription 9 * 10 * @author jbonevic 11 * @version $Id: GenerationOptionMetaData.html,v 1.1 2009/03/07 17:55:43 jbonevic Exp $ 12 */ 13 public class GenerationOptionMetaData 14 { 15 private List _optionGroups = new ArrayList(10); // element: OptionGroup 16 private List _groupIds = new ArrayList(10); // element: String 17 private List _optionIds = new ArrayList(40); // element: String 18 19 /*** 20 * Constructor for GenerationOptionMetaData. 21 */ 22 public GenerationOptionMetaData() 23 { 24 } 25 26 public Iterator getOptionIds() 27 { 28 return new ImmutableIterator(_optionIds); 29 } 30 31 public Iterator getOptionGroupIds() 32 { 33 return new ImmutableIterator(_groupIds); 34 } 35 36 public String getOptionGroupDisplayName(String groupId) 37 { 38 OptionGroup group = (OptionGroup) getOptionWithId(_optionGroups, groupId); 39 return group != null ? group.getId() : null; 40 } 41 42 OptionGroup createOptionGroup(String groupId, String display) 43 { 44 OptionGroup newGroup = new OptionGroup(groupId, display); 45 _optionGroups.add(newGroup); 46 _groupIds.add(groupId); 47 return newGroup; 48 } 49 50 public Iterator getOptionsForGroup(String groupId) 51 { 52 OptionGroup group = (OptionGroup) getOptionWithId(_optionGroups, groupId); 53 return group != null ? group.getOptionDisplayNames() : null; 54 } 55 56 public String getOptionDisplayName(String groupId, String optionId) 57 { 58 OptionGroup group = (OptionGroup) getOptionWithId(_optionGroups, groupId); 59 if (group == null) return null; 60 61 Option option = group.getOption(optionId); 62 return option != null ? option.getDisplayName() : null; 63 } 64 65 public boolean isAnOption(String optionId) 66 { 67 return _optionIds.contains(optionId); 68 } 69 70 private static Option getOptionWithId(Collection coll, String id) 71 { 72 Option option = null; 73 Iterator itr = coll.iterator(); 74 while (itr.hasNext()) 75 { 76 option = (Option) itr.next(); 77 if (option.getId().equals(id)) 78 { 79 break; 80 } 81 } 82 return option; 83 } 84 85 /////////////////////////////////////////////////////////////// 86 // Inner classes 87 88 private class Option 89 { 90 protected String _id; 91 protected String _displayName; 92 93 public Option(String id, String displayName) 94 { 95 _id = id; 96 _displayName = displayName; 97 } 98 /*** 99 * Returns the displayName. 100 * @return String 101 */ 102 public String getDisplayName() 103 { 104 return _displayName; 105 } 106 107 /*** 108 * Returns the id. 109 * @return String 110 */ 111 public String getId() 112 { 113 return _id; 114 } 115 116 /*** 117 * Sets the displayName. 118 * @param displayName The displayName to set 119 */ 120 public void setDisplayName(String displayName) 121 { 122 _displayName = displayName; 123 } 124 125 /*** 126 * Sets the id. 127 * @param id The id to set 128 */ 129 public void setId(String id) 130 { 131 _id = id; 132 } 133 134 /*** 135 * @see java.lang.Object#toString() 136 */ 137 public String toString() 138 { 139 return _displayName; 140 } 141 142 /*** 143 * @see java.lang.Object#equals(Object) 144 */ 145 public boolean equals(Object rhs) 146 { 147 if (rhs instanceof Option) 148 { 149 Option that = (Option) rhs; 150 if (_id.equals(that.getId())) 151 { 152 return true; 153 } 154 } 155 return false; 156 } 157 158 /*** 159 * @see java.lang.Object#hashCode() 160 */ 161 public int hashCode() 162 { 163 return _id.hashCode(); 164 } 165 166 } 167 168 public class OptionGroup extends Option 169 { 170 private List _options = new ArrayList(30); 171 private List _optionIds = new ArrayList(30); 172 173 public OptionGroup(String groupId, String displayName) 174 { 175 super(groupId,displayName); 176 } 177 178 public void addOption(String optionId, String display) 179 { 180 if (! GenerationOptionMetaData.this.isAnOption(optionId)) 181 { 182 _options.add(new Option(optionId,display)); 183 _optionIds.add(optionId); 184 GenerationOptionMetaData.this._optionIds.add(optionId); 185 } 186 } 187 188 public Iterator getOptions() 189 { 190 return new ImmutableIterator(_options); 191 } 192 193 public Iterator getOptionDisplayNames() 194 { 195 return new ImmutableIterator(_optionIds); 196 } 197 198 public Option getOption(String optionId) 199 { 200 return GenerationOptionMetaData.getOptionWithId(_options, optionId); 201 } 202 203 } /* end inner class OptionGroup */ 204 205 } /* end class GenerationMetaData */

This page was automatically generated by Maven