donaldp     02/03/22 23:30:48

  Modified:    proposal/myrmidon/src/java/org/apache/aut/converter/lib
                        StringToShortConverter.java
                        StringToLongConverter.java
                        StringToIntegerConverter.java
                        StringToByteConverter.java
  Log:
  Made it possible to parse out hex, octal and binary numbers via the converters
  
  Revision  Changes    Path
  1.2       +22 -1     
jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToShortConverter.java
  
  Index: StringToShortConverter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToShortConverter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringToShortConverter.java       23 Mar 2002 05:34:17 -0000      1.1
  +++ StringToShortConverter.java       23 Mar 2002 07:30:48 -0000      1.2
  @@ -15,6 +15,9 @@
   /**
    * String to short converter
    *
  + * <p>Hexadecimal numbers begin with 0x, Octal numbers begin with 0o and 
binary
  + * numbers begin with 0b, all other values are assumed to be decimal.</p>
  + *
    * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
    * @ant.converter source="java.lang.String" destination="java.lang.Short"
    */
  @@ -34,7 +37,25 @@
       {
           try
           {
  -            return new Short( (String)object );
  +            final String value = (String)object;
  +            short result = 0;
  +            if( value.startsWith( "0x" ) )
  +            {
  +                result = Short.parseShort( value.substring( 2 ), 16 );
  +            }
  +            else if( value.startsWith( "0o" ) )
  +            {
  +                result = Short.parseShort( value.substring( 2 ), 8 );
  +            }
  +            else if( value.startsWith( "0b" ) )
  +            {
  +                result = Short.parseShort( value.substring( 2 ), 2 );
  +            }
  +            else
  +            {
  +                result = Short.parseShort( value );
  +            }
  +            return new Short( result );
           }
           catch( final NumberFormatException nfe )
           {
  
  
  
  1.2       +22 -1     
jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToLongConverter.java
  
  Index: StringToLongConverter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToLongConverter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringToLongConverter.java        23 Mar 2002 05:34:17 -0000      1.1
  +++ StringToLongConverter.java        23 Mar 2002 07:30:48 -0000      1.2
  @@ -15,6 +15,9 @@
   /**
    * String to long converter
    *
  + * <p>Hexadecimal numbers begin with 0x, Octal numbers begin with 0o and 
binary
  + * numbers begin with 0b, all other values are assumed to be decimal.</p>
  + *
    * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
    * @ant.converter source="java.lang.String" destination="java.lang.Long"
    */
  @@ -34,7 +37,25 @@
       {
           try
           {
  -            return new Long( (String)object );
  +            final String value = (String)object;
  +            long result = 0;
  +            if( value.startsWith( "0x" ) )
  +            {
  +                result = Long.parseLong( value.substring( 2 ), 16 );
  +            }
  +            else if( value.startsWith( "0o" ) )
  +            {
  +                result = Long.parseLong( value.substring( 2 ), 8 );
  +            }
  +            else if( value.startsWith( "0b" ) )
  +            {
  +                result = Long.parseLong( value.substring( 2 ), 2 );
  +            }
  +            else
  +            {
  +                result = Long.parseLong( value );
  +            }
  +            return new Long( result );
           }
           catch( final NumberFormatException nfe )
           {
  
  
  
  1.2       +22 -1     
jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToIntegerConverter.java
  
  Index: StringToIntegerConverter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToIntegerConverter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringToIntegerConverter.java     23 Mar 2002 05:34:17 -0000      1.1
  +++ StringToIntegerConverter.java     23 Mar 2002 07:30:48 -0000      1.2
  @@ -16,6 +16,9 @@
   /**
    * String to integer converter.
    *
  + * <p>Hexadecimal numbers begin with 0x, Octal numbers begin with 0o and 
binary
  + * numbers begin with 0b, all other values are assumed to be decimal.</p>
  + *
    * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
    * @ant.converter source="java.lang.String" destination="java.lang.Integer"
    */
  @@ -35,7 +38,25 @@
       {
           try
           {
  -            return new Integer( (String)object );
  +            final String value = (String)object;
  +            int result = 0;
  +            if( value.startsWith( "0x" ) )
  +            {
  +                result = Integer.parseInt( value.substring( 2 ), 16 );
  +            }
  +            else if( value.startsWith( "0o" ) )
  +            {
  +                result = Integer.parseInt( value.substring( 2 ), 8 );
  +            }
  +            else if( value.startsWith( "0b" ) )
  +            {
  +                result = Integer.parseInt( value.substring( 2 ), 2 );
  +            }
  +            else
  +            {
  +                result = Integer.parseInt( value );
  +            }
  +            return new Integer( result );
           }
           catch( final NumberFormatException nfe )
           {
  
  
  
  1.2       +22 -1     
jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToByteConverter.java
  
  Index: StringToByteConverter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/aut/converter/lib/StringToByteConverter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringToByteConverter.java        23 Mar 2002 05:34:17 -0000      1.1
  +++ StringToByteConverter.java        23 Mar 2002 07:30:48 -0000      1.2
  @@ -15,6 +15,9 @@
   /**
    * String to byte converter
    *
  + * <p>Hexadecimal numbers begin with 0x, Octal numbers begin with 0o and 
binary
  + * numbers begin with 0b, all other values are assumed to be decimal.</p>
  + *
    * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
    * @ant.converter source="java.lang.String" destination="java.lang.Byte"
    */
  @@ -34,7 +37,25 @@
       {
           try
           {
  -            return new Byte( (String)object );
  +            final String value = (String)object;
  +            byte result = 0;
  +            if( value.startsWith( "0x" ) )
  +            {
  +                result = Byte.parseByte( value.substring( 2 ), 16 );
  +            }
  +            else if( value.startsWith( "0o" ) )
  +            {
  +                result = Byte.parseByte( value.substring( 2 ), 8 );
  +            }
  +            else if( value.startsWith( "0b" ) )
  +            {
  +                result = Byte.parseByte( value.substring( 2 ), 2 );
  +            }
  +            else
  +            {
  +                result = Byte.parseByte( value );
  +            }
  +            return new Byte( result );
           }
           catch( final NumberFormatException nfe )
           {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to