
com.sta.cts.ConvTools Maven / Gradle / Ivy
package com.sta.cts;
/**
* Name: ConvTools
* Description: Hilfsklasse zur Konvertierung und Formatierung.
* Copyright: Copyright (c) 2004, 2009, 2011, 2013, 2015-2017, 2019
* Company: >StA-Soft<
* @author StA
* @version 1.0
*/
public final class ConvTools
{
/**
* Zeitangabe formatieren.
* @param time Zeit in ms
* @return formatierte Zeitangabe (Einheit: Sekunden)
*/
public static String formatTime(long time)
{
return "" + (double) time / 1000; // + "." + time % 1000;
}
/**
* Integer auf minimale L?nge bringen, vorne mit Zeichen auff?llen
* (rechts ausrichten).
* @param i Wert
* @param cnt Anzahl der Zeichen
* @param ch Zeichen, mit dem aufzuf?llen ist
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String formatInt(int i, int cnt, char ch)
{
StringBuilder sb = new StringBuilder("" + i);
while (sb.length() < cnt)
{
sb.insert(0, ch);
}
return sb.toString();
}
/**
* Integer auf minimale L?nge bringen, vorne mit Leerzeichen auff?llen
* (rechts ausrichten).
* @param i Wert
* @param cnt Anzahl der Zeichen
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String formatInt(int i, int cnt)
{
return formatInt(i, cnt, ' ');
}
/**
* Long auf minimale L?nge bringen, vorne mit Zeichen auff?llen
* (rechts ausrichten).
* @param l Wert
* @param cnt Anzahl der Zeichen
* @param ch Zeichen, mit dem aufzuf?llen ist
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String formatLong(long l, int cnt, char ch)
{
StringBuilder sb = new StringBuilder("" + l);
while (sb.length() < cnt)
{
sb.insert(0, ch);
}
return sb.toString();
}
/**
* Long auf minimale L?nge bringen, vorne mit Leerzeichen auff?llen
* (rechts ausrichten).
* @param l Wert
* @param cnt Anzahl der Zeichen
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String formatLong(long l, int cnt)
{
return formatLong(l, cnt, ' ');
}
/**
* String auf minimale L?nge bringen, vorne mit Zeichen auff?llen
* (rechts ausrichten).
* @param s Wert
* @param cnt Anzahl der Zeichen
* @param ch Zeichen, mit dem aufzuf?llen ist
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String rightjust(String s, int cnt, char ch)
{
StringBuilder sb = new StringBuilder(s != null ? s : "");
while (sb.length() < cnt)
{
sb.insert(0, ch);
}
return sb.toString();
}
/**
* String auf minimale L?nge bringen, vorne mit Leerzeichen auff?llen
* (links ausrichten).
* @param s Wert
* @param cnt Anzahl der Zeichen
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String rightjust(String s, int cnt)
{
return rightjust(s, cnt, ' ');
}
/**
* String auf minimale L?nge bringen, hinten mit Zeichen auff?llen
* (links ausrichten).
* @param s Wert
* @param cnt Anzahl der Zeichen
* @param ch Zeichen, mit dem aufzuf?llen ist
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String leftjust(String s, int cnt, char ch)
{
StringBuilder sb = new StringBuilder(s != null ? s : "");
while (sb.length() < cnt)
{
sb.append(ch);
}
return sb.toString();
}
/**
* String auf minimale L?nge bringen, hinten mit Leerzeichen auff?llen.
* @param s Wert
* @param cnt Anzahl der Zeichen
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String leftjust(String s, int cnt)
{
return leftjust(s, cnt, ' ');
}
/**
* String auf minimale L?nge bringen, vorne und hinten mit Zeichen auff?llen
* (zentrieren).
* @param s Wert
* @param cnt Anzahl der Zeichen
* @param ch Zeichen, mit dem aufzuf?llen ist
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String center(String s, int cnt, char ch)
{
StringBuilder sb = new StringBuilder(s);
while (sb.length() < cnt)
{
sb.insert(0, ch);
if (sb.length() < cnt)
{
sb.append(ch);
}
}
return sb.toString();
}
/**
* String auf minimale L?nge bringen, vorne und hinten mit Leerzeichen
* auff?llen (zentrieren).
* @param s Wert
* @param cnt Anzahl der Zeichen
* @return Ergebnis-String, minimale L?nge: cnt
*/
public static String center(String s, int cnt)
{
return center(s, cnt, ' ');
}
/**
* Wie String.trim(), aber nur auf der linken Seite.
* @param s Parameter-String
* @return links getrimmter String
*/
public static String trimleft(String s)
{
return s != null ? s.replaceAll("^\\s+", "") : null;
}
/**
* Wie String.trim(), aber nur auf der rechten Seite.
* @param s Parameter-String
* @return rechts getrimmter String
*/
public static String trimright(String s)
{
return s != null ? s.replaceAll("\\s+$", "") : null;
}
/**
* Hash-Code f?r einen String mit Long-Arithmetik berechnen.
* @param s String, f?r den der Hash-Code berechnet werden soll
* @return long der berechnete Hash-Code (=0, falls s = null)
*/
public static long hashCodeL(String s)
{
long hash = 0;
if (s != null)
{
int len = s.length();
for (int i = 0; i < len; i++)
{
hash = 31 * hash + s.charAt(i);
}
}
return hash;
}
//---------------------------------------------------------------------------
/**
* Maskieren von Spezialzeichen.
* @param s Parameter-String
* @return Ergebnis der Maskierung
*/
public static String mask(String s)
{
StringBuilder sb = null;
if (s != null)
{
sb = new StringBuilder();
int len = s.length();
char ch;
int i = 0;
while (i < len)
{
ch = s.charAt(i);
if (ch == '\\')
{
sb.append("\\\\");
}
else if (ch == 0x0a)
{
sb.append("\\n");
}
else
{
sb.append(ch);
}
i++;
}
}
return sb != null ? sb.toString() : null;
}
/**
* Demaskieren von Spezialzeichen.
* Im Parameter-String enthaltene "\n"'s werden in 0ah konvertiert,
* aus "\\" wird "\"
* @param s Parameter-String
* @return Ergebnis der Demaskierung
*/
public static String demask(String s)
{
StringBuilder sb = null;
if (s != null)
{
sb = new StringBuilder();
boolean wasBS = false;
int len = s.length();
char ch;
int i = 0;
while (i < len)
{
ch = s.charAt(i);
if (!wasBS)
{
if (ch == '\\')
{
wasBS = true;
}
else
{
sb.append(ch);
}
}
else
{
if (ch == '\\')
{
sb.append(ch);
}
else
{
if (ch == 'n')
{
// sb.append((char) 0x0a);
sb.append('\n');
}
else if (ch == 't')
{
sb.append('\t');
}
else
{
sb.append("\\" + ch);
}
}
wasBS = false;
}
i++;
}
if (wasBS)
{
sb.append('\\');
}
}
return sb != null ? sb.toString() : null;
}
//---------------------------------------------------------------------------
/**
* "Einfachen" Text nach HTML-Text konvertieren.
* @param s "Einfacher" Text
* @return HTML-Text
*/
public static String convHTML(String s)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++)
{
char ch = s.charAt(i);
switch (ch)
{
case '?':
{
sb.append("ä");
break;
}
case '?':
{
sb.append("ö");
break;
}
case '?':
{
sb.append("ü");
break;
}
case '?':
{
sb.append("Ä");
break;
}
case '?':
{
sb.append("Ö");
break;
}
case '?':
{
sb.append("Ü");
break;
}
case '?':
{
sb.append("ß");
break;
}
case '&':
{
sb.append("&");
break;
}
case '<':
{
sb.append("<");
break;
}
case '>':
{
sb.append(">");
break;
}
case '\n':
{
sb.append("
");
break;
}
default:
{
sb.append(ch);
}
}
}
return sb.toString();
}
//---------------------------------------------------------------------------
/* *
* Text bei maximaler L?nge abschneiden. ?brig bleibt der Beginn des Textes.
* @param s Text
* @param maxlen maximale L?nge
* @return ggf. gek?rzter Text
*/
/*
public static String cut(String s, int maxlen)
{
return cutfirst(s, maxlen);
}
*/
/**
* Text bei maximaler L?nge abschneiden. ?brig bleibt der Beginn des Textes.
* @param s Text
* @param maxlen maximale L?nge
* @return ggf. gek?rzter Text
*/
public static String cutfirst(String s, int maxlen)
{
return (s != null) && (s.length() > maxlen) ? s.substring(0, maxlen) : s;
}
/**
* Text bei maximaler L?nge abschneiden. ?brig bleibt das Ende des Textes.
* @param s Text
* @param maxlen maximale L?nge
* @return ggf. gek?rzter Text
*/
private static String cutlast(String s, int maxlen)
{
return (s != null) && (s.length() > maxlen) ? s.substring(s.length() - maxlen) : s;
}
//===========================================================================
/**
* Dummy-Constructor.
*/
private ConvTools()
{
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy