/*
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
*
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002
* by the Xiph.Org Foundation http://www.xiph.org/
*/
package org.xiph.libshout;
public class Base64EncoderDecoder extends java.util.prefs.AbstractPreferences {
private java.util.Hashtable encodedStore = new java.util.Hashtable();
public Base64EncoderDecoder(java.util.prefs.AbstractPreferences prefs, java.lang.String string) {
super(prefs, string);
}
public java.lang.String encodeBase64(java.lang.String raw)
throws java.io.UnsupportedEncodingException {
byte[] rawUTF8 = raw.getBytes("UTF8");
this.putByteArray(raw, rawUTF8);
return (java.lang.String) this.encodedStore.get(raw);
}
public java.lang.String encodeBase64(java.lang.String key, java.lang.String raw)
throws java.io.UnsupportedEncodingException {
byte[] rawUTF8 = raw.getBytes("UTF8");
this.putByteArray(key, rawUTF8);
return (java.lang.String) this.encodedStore.get(key);
}
@SuppressWarnings("unchecked")
public java.lang.String decodeBase64(java.lang.String key, java.lang.String base64String)
throws java.io.UnsupportedEncodingException, java.io.IOException {
byte[] def = {(byte) 'D', (byte) 'E', (byte) 'F'};//placeholder
this.encodedStore.put(key, base64String);
byte[] byteResults = this.getByteArray(key, def);
return new java.lang.String(byteResults, "UTF8");
}
public String get(String key, String def) {
return (java.lang.String) this.encodedStore.get(key);
}
@SuppressWarnings("unchecked")
public void put(String key, String value) {
this.encodedStore.put(key, value);
}
// dummy implementation as AbstractPreferences is extended to access methods above
protected java.util.prefs.AbstractPreferences childSpi(String name) {
return null;
}
protected String[] childrenNamesSpi() throws java.util.prefs.BackingStoreException {
return null;
}
protected void flushSpi() throws java.util.prefs.BackingStoreException {
}
protected String getSpi(String key) {
return null;
}
protected String[] keysSpi() throws java.util.prefs.BackingStoreException {
return null;
}
protected void putSpi(String key, String value) {
}
protected void removeNodeSpi() throws java.util.prefs.BackingStoreException {
}
protected void removeSpi(String key) {
}
protected void syncSpi() throws java.util.prefs.BackingStoreException {
}
}