001 package com.croftsoft.apps.ajgp.data;
002
003 import java.util.*;
004 import javax.xml.bind.annotation.*;
005
006 import com.croftsoft.core.lang.NullArgumentException;
007
008 /*********************************************************************
009 * Bean implementation of interface of EnumData.
010 *
011 * @version
012 * $Id: EnumDataBean.java,v 1.2 2007/06/29 03:19:27 croft Exp $
013 * @since
014 * 2007-06-28
015 * @author
016 * <a href="https://www.croftsoft.com/">David Wallace Croft</a>
017 *********************************************************************/
018
019 @XmlRootElement
020 public final class EnumDataBean
021 implements EnumData
022 ////////////////////////////////////////////////////////////////////////
023 ////////////////////////////////////////////////////////////////////////
024 {
025
026 private Map<EnumInteger, Integer> integerMap;
027
028 private Map<EnumString, String> stringMap;
029
030 ////////////////////////////////////////////////////////////////////////
031 // constructor methods
032 ////////////////////////////////////////////////////////////////////////
033
034 public EnumDataBean ( )
035 ////////////////////////////////////////////////////////////////////////
036 {
037 // a no-argument constructor for JAXB conversion
038 }
039
040 ////////////////////////////////////////////////////////////////////////
041 // interface EnumData accessor methods
042 ////////////////////////////////////////////////////////////////////////
043
044 public Integer get ( final EnumInteger enumInteger )
045 ////////////////////////////////////////////////////////////////////////
046 {
047 NullArgumentException.check ( enumInteger );
048
049 return integerMap == null ? null : integerMap.get ( enumInteger );
050 }
051
052 public String get ( final EnumString enumString )
053 ////////////////////////////////////////////////////////////////////////
054 {
055 NullArgumentException.check ( enumString );
056
057 return stringMap == null ? null : stringMap.get ( enumString );
058 }
059
060 ////////////////////////////////////////////////////////////////////////
061 // interface EnumData mutator methods
062 ////////////////////////////////////////////////////////////////////////
063
064 public void set (
065 final EnumInteger enumInteger,
066 final Integer value )
067 ////////////////////////////////////////////////////////////////////////
068 {
069 NullArgumentException.check ( enumInteger );
070
071 if ( integerMap == null )
072 {
073 integerMap
074 = new EnumMap<EnumInteger, Integer> ( EnumInteger.class );
075 }
076
077 if ( value == null )
078 {
079 integerMap.remove ( enumInteger );
080 }
081 else
082 {
083 integerMap.put ( enumInteger, value );
084 }
085 }
086
087 public void set (
088 final EnumString enumString,
089 final String value )
090 ////////////////////////////////////////////////////////////////////////
091 {
092 NullArgumentException.check ( enumString );
093
094 if ( stringMap == null )
095 {
096 stringMap = new EnumMap<EnumString, String> ( EnumString.class );
097 }
098
099 if ( value == null )
100 {
101 stringMap.remove ( enumString );
102 }
103 else
104 {
105 stringMap.put ( enumString, value );
106 }
107 }
108
109 ////////////////////////////////////////////////////////////////////////
110 // JAXB accessor methods
111 ////////////////////////////////////////////////////////////////////////
112
113 public Map<EnumInteger, Integer> getIntegerMap ( )
114 ////////////////////////////////////////////////////////////////////////
115 {
116 return integerMap;
117 }
118
119 public Map<EnumString, String> getStringMap ( )
120 ////////////////////////////////////////////////////////////////////////
121 {
122 return stringMap;
123 }
124
125 ////////////////////////////////////////////////////////////////////////
126 // JAXB mutator methods
127 ////////////////////////////////////////////////////////////////////////
128
129 public void setIntegerMap (
130 final Map<EnumInteger, Integer> integerMap )
131 ////////////////////////////////////////////////////////////////////////
132 {
133 this.integerMap = integerMap;
134 }
135
136 public void setStringMap (
137 final Map<EnumString, String> stringMap )
138 ////////////////////////////////////////////////////////////////////////
139 {
140 this.stringMap = stringMap;
141 }
142
143 ////////////////////////////////////////////////////////////////////////
144 ////////////////////////////////////////////////////////////////////////
145 }