1 21 22 package org.armedbear.lisp; 23 24 public final class CapitalizeFirstStream extends CaseFrobStream 25 { 26 boolean virgin = true; 27 28 public CapitalizeFirstStream(Stream target) throws ConditionThrowable 29 { 30 super(target); 31 } 32 33 public void _writeChar(char c) throws ConditionThrowable 34 { 35 if (virgin) { 36 c = Utilities.toUpperCase(c); 37 virgin = false; 38 } else 39 c = Utilities.toLowerCase(c); 40 target._writeChar(c); 41 } 42 43 public void _writeString(String s) throws ConditionThrowable 44 { 45 if (s.length() > 0) { 46 if (virgin) { 47 target._writeChar(Utilities.toUpperCase(s.charAt(0))); 48 virgin = false; 49 target._writeString(s.substring(1).toLowerCase()); 50 } else 51 target._writeString(s.toLowerCase()); 52 } 53 } 54 55 public void _writeLine(String s) throws ConditionThrowable 56 { 57 _writeString(s); 58 _writeChar('\n'); 59 } 60 } 61 | Popular Tags |