Package systextil.msg

Class Msg

All Implemented Interfaces:
Serializable, Translatable
Direct Known Subclasses:
TagMessage

public class Msg extends TagException
Conveniência para criar mensagens que requerem (ou não) tradução para serem comunicadas pelos componentes da aplicação. É uma subclasse de Exception, o que permite lançá-la!

Representa sempre uma mensagem composta por partes. Pode ter uma parte, nenhuma, ou várias. Cada parte pode, ou não, requerer tradução. Se pelo menos uma parte requerer tradução, esta mensagem requer que um Translator seja fornecido para ser "impressa".

Dispõe de métodos do tipo print e println, semelhantes aos de PrintWriter, convenientes para adicionar as partes da mensagem com ou sem quebras de linha entre elas. Estes métodos não se chamam add para não confundir com o método Tag.add(Object) ou métodos semelhantes de outras implementações, que se destinam a adicionar parâmetros a uma Tag.

As quebras de linha automáticas são do tipo padrão da máquina virtual.

Nota de migração

Esta classe é uma subclasse de TagException para manter compatibilidade reversa. Espera-se que um dia não precise mais ser.

Author:
sergio
See Also:
  • Constructor Details

    • Msg

      public Msg()
      Constrói uma mensagem vazia: sem nenhuma parte, que não requer tradução, e que resulta em "".
    • Msg

      public Msg(Object obj)
      Conveniência para construir uma mensagem com uma parte de qualquer tipo.
      Parameters:
      obj - qualquer coisa. Se for do tipo String, será um texto comum não traduzível como qualquer outro. Se for Translatable, provavelmente vai requerer tradução.
  • Method Details

    • fromTag

      public static Msg fromTag(String tag)
      Conveniência para nao ter que escrever: new Msg(new Tag(tag)).
      Parameters:
      tag - o código da tag a traduzir
      Returns:
      uma mensagem com a tag a traduzir
    • fromTag

      public static Msg fromTag(String tag, Object... params)
      Conveniência para construir uma mensagem consistindo de uma única Tag com parâmetros.
      Parameters:
      tag - o código da tag a traduzir
      params - os parâmetros da tag
      Returns:
      uma mensagem com a tag a traduzir
    • print

      public final Msg print(Object obj)
      Adiciona uma parte qualquer a esta mensagem.
      Parameters:
      obj - qualquer coisa. Se for do tipo String, será um texto comum não traduzível como qualquer outro. Se for Translatable, vai requerer tradução.
      Returns:
      este objeto
    • println

      public final Msg println(Object obj)
      Adiciona uma parte qualquer a esta mensagem, seguida por uma quebra de linha.
      Parameters:
      obj - qualquer coisa. Se for do tipo String, será um texto comum não traduzível como qualquer outro. Se for Translatable, vai requerer tradução.
      Returns:
      este objeto
    • print

      public final Msg print(int x)
      Adiciona um número inteiro a esta mensagem.
      Returns:
      este objeto
    • print

      public final Msg print(double x)
      Adiciona um número decimal a esta mensagem.
      Returns:
      este objeto
    • isEmpty

      public boolean isEmpty()
      Informa que nenhuma parte foi adicionada a esta mensagem. Isto não serve para verificar se o texto resultante da tradução é vazio.
      Returns:
      se esta mensagem não tem partes.
    • needsTranslator

      public boolean needsTranslator()
      Informa se é preciso invocar use(Translator) para que toString() retorne a mensagem corretamente traduzida.
      Returns:
      se esta mensagem possui algum componente que necessita tradução e ainda não foi informado um tradutor conveniente.
    • add

      @Deprecated public TagException add(Object parametro)
      Deprecated.
      Este método nunca foi usado nesta classe, e não deve ser. Usar print(Object) nesta classe.
      Overrides:
      add in class TagException
    • use

      public Msg use(Translator translator)
      Disponibiliza a esta mensagem um tradutor para que seja usado caso se precise imprimi-la usando o método padrão (o qual é toString() e não recebe um tradutor como argumento).
      Parameters:
      translator - um tradutor a ser usado se for necessário. Não deve ser null. Se for, e caso seja necessário para traduzir esta mensagem, vai causar NullPointerException.
      Returns:
      este objeto
    • getMessage

      public String getMessage()
      Retorna a mensagem desta Exception obtida com o tradutor informado através de use(Translator). Se não for informado nenhum, a mensagem não será traduzida e retornará a concatenação das partes sem tradução.
      Overrides:
      getMessage in class Throwable
    • toString

      public String toString()
      Retorna o mesmo que getMessage().
      Overrides:
      toString in class Throwable