Спецификаторы пользовательского преобразования в java

Я хочу, чтобы мои структуры данных были отформатированы пользователем. например, у меня есть DS

Address {
    string house_number,
    string street,
    string city,
    long pin_code,
}

. Теперь я хочу связать определенные спецификаторы преобразования с каждым из этих полей.

e.g. house_number -> H
     street -> S,
     city -> C,
     pin_code -> P
     ...

Таким образом, что-то вроде

myPrintWriter.printf("Mr A lives in %C", address_instance) 

дает «Мистер A живет в Бостоне» (если address_instance.city = boston) и т. д. ..

Кажется, нет простого способа сделать это. java.util.Formatter кажется окончательным. Единственная настройка, которую он обеспечивает, - это интерфейс Formattable, но он помогает настроить только спецификатор преобразования 's'. Есть ли способ добавить наши пользовательские спецификаторы преобразования? Мы будем очень благодарны за любую помощь.

Спасибо,

5
задан baskin 25 November 2010 в 14:58
поделиться