All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.mmm.util.nls.base.NlsMessagePlain Maven / Gradle / Ivy

/* Copyright (c) The m-m-m Team, Licensed under the Apache License, Version 2.0
 * http://www.apache.org/licenses/LICENSE-2.0 */
package net.sf.mmm.util.nls.base;

import java.io.IOException;
import java.util.Locale;

import net.sf.mmm.util.nls.api.NlsMessage;
import net.sf.mmm.util.nls.api.NlsTemplateResolver;

/**
 * This is a dummy implementation of {@link NlsMessage} that only returns the {@link #getMessage() message}
 * given at {@link #NlsMessagePlain(String) construction} and never has any {@link #getArgument(String)
 * arguments}.
 *
 * @author Joerg Hohwiller (hohwille at users.sourceforge.net)
 * @since 3.1.0
 */
public class NlsMessagePlain implements NlsMessage {

  private static final long serialVersionUID = 1L;

  private /* final */String message;

  /**
   * The constructor for de-serialization in GWT.
   */
  protected NlsMessagePlain() {

    super();
  }

  /**
   * The constructor.
   *
   * @param message is the plain message to return for any locale without modification.
   */
  public NlsMessagePlain(String message) {

    super();
    this.message = message;
  }

  @Override
  public NlsMessage toNlsMessage() {

    return this;
  }

  @Override
  public String getInternationalizedMessage() {

    return this.message;
  }

  @Override
  @Deprecated
  public int getArgumentCount() {

    return 0;
  }

  @Override
  public Object getArgument(String key) {

    return null;
  }

  @Override
  @Deprecated
  public Object getArgument(int index) {

    return null;
  }

  @Override
  public String getMessage() {

    return this.message;
  }

  @Override
  public String getLocalizedMessage() {

    return this.message;
  }

  @Override
  public String getLocalizedMessage(Locale locale) {

    return this.message;
  }

  @Override
  public void getLocalizedMessage(Locale locale, Appendable buffer) {

    getLocalizedMessage(locale, null, buffer);
  }

  @Override
  public String getLocalizedMessage(Locale locale, NlsTemplateResolver resolver) {

    return this.message;
  }

  @Override
  public void getLocalizedMessage(Locale locale, NlsTemplateResolver resolver, Appendable buffer) {

    try {
      buffer.append(this.message);
    } catch (IOException e) {
      throw new IllegalStateException("Error writing message to Appendable.", e);
    }
  }

  @Override
  public String toString() {

    return this.message;
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy