001 package com.croftsoft.apps.ajgp.data; 002 003 import java.io.*; 004 import javax.xml.bind.*; 005 006 import com.croftsoft.apps.ajgp.data.EnumData.*; 007 008 /********************************************************************* 009 * Test of enumerated accessors. 010 * 011 * @version 012 * $Id: EnumDataTest.java,v 1.2 2007/06/29 03:26:45 croft Exp $ 013 * @since 014 * 2007-06-28 015 * @author 016 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 017 *********************************************************************/ 018 019 public final class EnumDataTest 020 //////////////////////////////////////////////////////////////////////// 021 //////////////////////////////////////////////////////////////////////// 022 { 023 024 public static void main ( final String [ ] args ) 025 throws Exception 026 //////////////////////////////////////////////////////////////////////// 027 { 028 final EnumData enumData = new EnumDataBean ( ); 029 030 enumData.set ( EnumInteger.HEALTH, new Integer ( 10 ) ); 031 032 enumData.set ( EnumInteger.WEALTH, new Integer ( 99 ) ); 033 034 enumData.set ( EnumInteger.WISDOM, new Integer ( 18 ) ); 035 036 enumData.set ( EnumString.USER_ID, "croft" ); 037 038 enumData.set ( EnumString.PLAYER_NAME, "David Wallace Croft" ); 039 040 enumData.set ( EnumString.CHARACTER_NAME, "Enoch the Elf" ); 041 042 // convert from bean object to XML 043 044 final JAXBContext jaxbContext 045 = JAXBContext.newInstance ( EnumDataBean.class ); 046 047 final Marshaller marshaller = jaxbContext.createMarshaller ( ); 048 049 marshaller.setProperty ( 050 Marshaller.JAXB_FORMATTED_OUTPUT, 051 Boolean.TRUE ); 052 053 final ByteArrayOutputStream byteArrayOutputStream 054 = new ByteArrayOutputStream ( ); 055 056 marshaller.marshal ( enumData, byteArrayOutputStream ); 057 058 final byte [ ] byteArray = byteArrayOutputStream.toByteArray ( ); 059 060 System.out.println ( new String ( byteArray, "UTF-8" ) ); 061 062 // convert from XML to bean object 063 064 final Unmarshaller unmarshaller = jaxbContext.createUnmarshaller ( ); 065 066 final EnumData enumData2 067 = ( EnumData ) unmarshaller.unmarshal ( 068 new ByteArrayInputStream ( byteArray ) ); 069 070 System.out.println ( "" ); 071 072 for ( final EnumInteger enumInteger : EnumInteger.values ( ) ) 073 { 074 System.out.println ( enumData2.get ( enumInteger ) ); 075 } 076 077 for ( final EnumString enumString : EnumString.values ( ) ) 078 { 079 System.out.println ( enumData2.get ( enumString ) ); 080 } 081 } 082 083 //////////////////////////////////////////////////////////////////////// 084 //////////////////////////////////////////////////////////////////////// 085 }