Package at.favre.lib.idmask
Class ByteToTextEncoding.IdFormatter
- java.lang.Object
-
- at.favre.lib.idmask.ByteToTextEncoding.IdFormatter
-
- All Implemented Interfaces:
ByteToTextEncoding
- Enclosing interface:
- ByteToTextEncoding
public static final class ByteToTextEncoding.IdFormatter extends Object implements ByteToTextEncoding
ID formatting decorator. Wrap an existingByteToTextEncoding
instance to add simple formatting capabilities.A call can set the interval and separator. An id will be formatted similar to:
xxxx-yyyyyy-xxxx-yyyyyy-xx
where
-
is the separator and the interval is 4. Note that every other id part will have lengthinterval+2
to improve readability.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface at.favre.lib.idmask.ByteToTextEncoding
ByteToTextEncoding.Base16, ByteToTextEncoding.Base32Rfc4648, ByteToTextEncoding.Base64Url, ByteToTextEncoding.BaseMod8Encoding, ByteToTextEncoding.CleanBase32Encoding, ByteToTextEncoding.IdFormatter
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
decode(CharSequence encoded)
Decode given encoded string (seeByteToTextEncoding.encode(byte[])
to a byte arrayString
encode(byte[] bytes)
Encode given byte array to printable textstatic ByteToTextEncoding.IdFormatter
wrap(ByteToTextEncoding byteToTextEncoding)
Create new formatter instance with default separator and interval.static ByteToTextEncoding.IdFormatter
wrap(ByteToTextEncoding byteToTextEncoding, int interval)
Create new formatter instance.static ByteToTextEncoding.IdFormatter
wrap(ByteToTextEncoding byteToTextEncoding, int interval, String separator)
Create new formatter instance.
-
-
-
Method Detail
-
wrap
public static ByteToTextEncoding.IdFormatter wrap(ByteToTextEncoding byteToTextEncoding)
Create new formatter instance with default separator and interval.- Parameters:
byteToTextEncoding
- to wrap- Returns:
- formatted byteToTextEncoding
-
wrap
public static ByteToTextEncoding.IdFormatter wrap(ByteToTextEncoding byteToTextEncoding, int interval)
Create new formatter instance.- Parameters:
byteToTextEncoding
- to wrapinterval
- of the single parts of the id. E.g. 4 looks like this:xxxx-yyyyyy-xxxxx-...
- Returns:
- formatted byteToTextEncoding
-
wrap
public static ByteToTextEncoding.IdFormatter wrap(ByteToTextEncoding byteToTextEncoding, int interval, String separator)
Create new formatter instance.- Parameters:
byteToTextEncoding
- to wrapinterval
- of the single parts of the id. E.g. 4 looks like this:xxxx-yyyyyy-xxxxx-...
separator
- between the id parts; be aware not to use a character used in the encoding alphabet- Returns:
- formatted byteToTextEncoding
-
encode
public String encode(byte[] bytes)
Description copied from interface:ByteToTextEncoding
Encode given byte array to printable text- Specified by:
encode
in interfaceByteToTextEncoding
- Parameters:
bytes
- to mask- Returns:
- printable text
-
decode
public byte[] decode(CharSequence encoded)
Description copied from interface:ByteToTextEncoding
Decode given encoded string (seeByteToTextEncoding.encode(byte[])
to a byte array- Specified by:
decode
in interfaceByteToTextEncoding
- Parameters:
encoded
- text to unmask- Returns:
- raw bytes as array
-
-