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        }