1 23 24 29 30 package com.sun.cli.util.stringifier; 31 32 import java.util.Iterator ; 33 34 35 38 39 public abstract class IteratorStringifierBase implements Stringifier 40 { 41 public final String mDelim; 42 public final Stringifier mElementStringifier; 43 44 public 45 IteratorStringifierBase( ) 46 { 47 this( ObjectStringifier.DEFAULT ); 48 } 49 50 public 51 IteratorStringifierBase( String delim ) 52 { 53 this( delim, new SmartStringifier( delim ) ); 54 } 55 56 public 57 IteratorStringifierBase( Stringifier elementStringifier ) 58 { 59 this( ",", elementStringifier ); 60 } 61 62 public 63 IteratorStringifierBase( String delim, Stringifier elementStringifier ) 64 { 65 mDelim = delim; 66 mElementStringifier = elementStringifier; 67 } 68 69 public String 70 stringify( Object o ) 71 { 72 assert( o != null ); 73 Iterator iter = (Iterator )o; 74 75 return( this.stringify( iter, mDelim, mElementStringifier ) ); 76 } 77 78 79 82 public abstract void 83 stringifyElement( 84 Object elem, 85 String delim, 86 StringBuffer buf); 87 88 89 90 public String 91 stringify( Iterator iter, String delim, Stringifier stringifier ) 92 { 93 assert( iter != null ); 94 95 StringBuffer buf = new StringBuffer (); 96 97 while ( iter.hasNext() ) 98 { 99 final Object elem = iter.next(); 100 assert( elem != null ); 101 102 stringifyElement( elem, delim, buf ); 103 } 104 105 final int length = buf.length(); 107 if ( length != 0 ) 108 { 109 buf.setLength( length - delim.length() ); 110 } 111 112 return( buf.toString() ); 113 } 114 115 118 public static String 119 stringify( Iterator iter, String delim ) 120 { 121 final IteratorStringifier stringifier = new IteratorStringifier( delim ); 122 123 return( stringifier.stringify( iter, delim, SmartStringifier.DEFAULT ) ); 124 } 125 126 public final static IteratorStringifier DEFAULT = new IteratorStringifier( "," ); 127 } 128 129 | Popular Tags |