001package org.hl7.fhir.utilities;
002
003import java.util.Date;
004
005public class TranslatingUtilities {
006
007  private TranslationServices translator;
008
009  public TranslationServices getTranslator() {
010    return translator;
011  }
012
013  public void setTranslator(TranslationServices translator) {
014    this.translator = translator;
015  }
016  
017  protected String translate(String context, String value) {
018    return hasTranslator() ? translator.translate(context, value) : value;
019  }
020
021  protected boolean hasTranslator() {
022    return translator != null;
023  }
024
025  public String toStr(int value) {
026    return hasTranslator() ? translator.toStr(value) : Integer.toString(value);
027  }
028  
029  public String toStr(Date value) {
030    return hasTranslator() ? translator.toStr(value) : value.toString();
031  }
032  
033  protected String translate(String context, String value, Object... args) {
034    if (hasTranslator()) {
035      String alt = translator.translate(context, value);
036      if (alt != null)
037        value = alt;
038    }
039    return String.format(value, args);      
040  }
041  
042  
043}