1 32 package net.sf.retrotranslator.runtime.format; 33 34 37 abstract class GeneralConversion extends Conversion { 38 39 protected void printf(FormatContext context, Object argument) { 40 context.assertNoFlag('#'); 41 context.checkWidth(); 42 context.writeRestricted(String.valueOf(argument)); 43 } 44 45 public static class BooleanConversion extends GeneralConversion { 46 47 public void format(FormatContext context) { 48 Object argument = context.getArgument(); 49 printf(context, argument instanceof Boolean ? argument : argument != null); 50 } 51 } 52 53 public static class HashConversion extends GeneralConversion { 54 55 public void format(FormatContext context) { 56 Object argument = context.getArgument(); 57 printf(context, argument == null ? null : Integer.toHexString(argument.hashCode())); 58 } 59 } 60 61 public static class StringConversion extends GeneralConversion { 62 63 public void format(FormatContext context) { 64 if (!context.writeFormattable()) { 65 context.checkWidth(); 66 context.writeRestricted(String.valueOf(context.getArgument())); 67 } 68 } 69 } 70 71 } 72 | Popular Tags |