/*
* Copyright 2007 Sxip Identity Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.oauth.j2me;
//import java.nio.charset.CharsetEncoder;
//import java.lang.CharSequence;
//import java.lang.StringBuilder;
//import java.net.URLEncoder;
import net.oauth.j2me.Util;
//import java.lang.StringBuffer;
public class OAuthParameterEncoder {
private String unreservedCharactersPattern = "[a-zA-Z0-9\\-\\._~]";
private String unreservedCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~";
public OAuthParameterEncoder() {
}
public String encode(String s) {
if (s == null || "".equals(s)) {
return "";
}
StringBuffer sb = new StringBuffer(s.length()*2);
for (int i = 0; i < s.length(); i++) {
if (unreservedCharacters.indexOf(s.charAt(i)) == -1) {
// get byte values of the character
// and turn them into percent encoding
String t = String.valueOf(s.charAt(i));
// try {
sb.append(Util.urlEncode(t));
//byte[] charBytes = t.getBytes("UTF-8");
//} catch (java.io.UnsupportedEncodingException e) {
// ;
//}
} else {
sb.append(s.charAt(i));
}
}
return sb.toString();
}
}