com.sta.mlogger.MMessageFormater Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xtools Show documentation
Show all versions of xtools Show documentation
Executable tools for all projects.
package com.sta.mlogger;
import java.util.Locale;
/**
* Name: MMessageFormater
* Description: Spezieller Message-Builder, der die String-Format-Methode
* verwendet. Es erfolgt kein Cachen der erzeugten Nachricht, die Nachricht wird
* also jedes Mal erneut erzeugt. Um den Cache-Mechanismus zu verwenden, muss
* ein MMessageBuilder vorgeschaltet werden.
*
* Comment:
* @see String#format(String, Object...)
* @see String#format(Locale, String, Object...)
*
* Copyright: Copyright (c) 2017, 2019, 2021
* Company: >StA-Soft<
* @author StA
* @version 1.0
*/
public class MMessageFormater implements IMessageBuilder
{
/**
* Locale-Objekt, falls verwendet, sonst null.
*/
private Locale myLocale = null;
/**
* Text bzw. Format-Angaben.
* @see String#format(String, Object...)
* @see String#format(Locale, String, Object...)
*/
private String myFormat;
/**
* Parameter-Objekte.
* @see String#format(String, Object...)
* @see String#format(Locale, String, Object...)
*/
private Object[] myObjects;
//===========================================================================
/**
* Constructor mit Text bzw. Format-Angaben und Parameter-Objekten.
* @param pFormat Text bzw. Format-Angaben
* @param pObjects Parameter-Objekte (kann auch leer/null sein)
*/
public MMessageFormater(String pFormat, Object... pObjects)
{
myFormat = pFormat;
myObjects = pObjects;
}
/**
* Constructor mit Text bzw. Format-Angaben und Parameter-Objekten.
* @param pLocale Locale-Objekt
* @param pFormat Text bzw. Format-Angaben
* @param pObjects Parameter-Objekte (kann auch leer/null sein)
*/
public MMessageFormater(Locale pLocale, String pFormat, Object... pObjects)
{
myLocale = pLocale;
myFormat = pFormat;
myObjects = pObjects;
}
@Override
public String getMessage()
{
return myLocale != null ? String.format(myLocale, myFormat, myObjects) : String.format(myFormat, myObjects);
}
}