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 }