Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java @ 258:c41b300b02c3
Improved the ClientProtocolUtils: collections OUT document contains attributes now.
artifacts/trunk@1907 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 12 May 2011 09:06:34 +0000 |
parents | 23ec48ce717e |
children |
line wrap: on
line source
/* * Copyright (c) 2010 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.artifactdatabase; import java.io.UnsupportedEncodingException; import java.util.UUID; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Hex; import org.apache.log4j.Logger; /** * Commonly used string functions. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public final class StringUtils { private static Logger logger = Logger.getLogger(StringUtils.class); /** * Generated a random UUIDv4 in form of a string. * @return the UUID */ public static final String newUUID() { return UUID.randomUUID().toString(); } /** * Checks if a given string is a valid UUID. * @param uuid The string to test. * @return true if the string is a valid UUID else false. */ public static final boolean checkUUID(String uuid) { try { UUID.fromString(uuid); } catch (IllegalArgumentException iae) { logger.warn(iae.getLocalizedMessage()); return false; } return true; } /** * Returns the UTF-8 byte array representation of a given string. * @param s The string to be transformed. * @return The byte array representation. */ public static final byte [] getUTF8Bytes(String s) { try { return s.getBytes("UTF-8"); } catch (UnsupportedEncodingException usee) { logger.error(usee.getLocalizedMessage(), usee); return s.getBytes(); } } /** * Tries to convert a Base64 encoded string into the * corresponing byte array. * @param s The Base64 encoded string * @return The byte array representation or null if * an decoding error occurs. */ public static final byte [] decodeHex(String s) { try { return Hex.decodeHex(s.toCharArray()); } catch (DecoderException de) { return null; } } public static final String repeat(String s, int count, String sep) { if (count <= 0) { return ""; } StringBuilder sb = new StringBuilder(s); for (--count; count > 0; --count) { sb.append(sep).append(s); } return sb.toString(); } public static final String repeat(char c, int count, char sep) { if (count <= 0) { return ""; } StringBuilder sb = new StringBuilder(2*count-1).append(c); for (--count; count > 0; --count) { sb.append(sep).append(c); } return sb.toString(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :