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 }