Beispiel #1
0
  /**
   * Scan the next tokens (between braces) and put the value (as text) on the log. In fact only the
   * source is informed that there is something to write out. This is done using the observer
   * pattern.
   *
   * @see de.dante.extex.interpreter.type.Code#execute( de.dante.extex.interpreter.Flags,
   *     de.dante.extex.interpreter.context.Context, de.dante.extex.interpreter.TokenSource,
   *     de.dante.extex.typesetter.Typesetter)
   */
  public void execute(
      final Flags prefix,
      final Context context,
      final TokenSource source,
      final Typesetter typesetter)
      throws InterpreterException {

    boolean log = false;

    if (source.getKeyword(context, "to")) {

      if (source.getKeyword(context, "log")) {
        log = true;
      } else {
        throw new HelpingException(getLocalizer(), "logMissing");
      }
    }

    Tokens toks = source.scanUnprotectedTokens(context, true, false, getName());
    if (log) {
      logger.fine(" " + toks.toText());
    } else {
      logger.severe(" " + toks.toText());
    }
  }