/* * Copyright 2011 Sina. * * Licensed under the Apache License and Weibo 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.open.weibo.com * 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 com.weibo.net; import javax.crypto.spec.SecretKeySpec; /** * A token base class contais token and secret.Whether accessToken or * requestToken should be as child of it. * * @author ZhangJie (zhangjie2@staff.sina.com.cn) */ public class Token { // mToken 可能是access token, 可能是oauth_token private String mToken = ""; private String mRefreshToken = ""; private long mExpiresIn = 0; private String mOauth_verifier = ""; protected String mOauth_Token_Secret = ""; protected String[] responseStr = null; protected SecretKeySpec mSecretKeySpec; public Token() { } public String getToken() { return this.mToken; } public String getRefreshToken() { return mRefreshToken; } public void setRefreshToken(String mRefreshToken) { this.mRefreshToken = mRefreshToken; } public long getExpiresIn() { return mExpiresIn; } public void setExpiresIn(long mExpiresIn) { this.mExpiresIn = mExpiresIn; } public void setExpiresIn(String expiresIn) { if (expiresIn != null && !expiresIn.equals("0")) { setExpiresIn(System.currentTimeMillis() + Integer.parseInt(expiresIn) * 1000); } } public void setToken(String mToken) { this.mToken = mToken; } public void setVerifier(String verifier) { mOauth_verifier = verifier; } public String getVerifier() { return mOauth_verifier; } public String getSecret() { return mOauth_Token_Secret; } public Token(String rltString) { responseStr = rltString.split("&"); mOauth_Token_Secret = getParameter("oauth_token_secret"); mToken = getParameter("oauth_token"); } public Token(String token, String secret) { mToken = token; mOauth_Token_Secret = secret; } public String getParameter(String parameter) { String value = null; for (String str : responseStr) { if (str.startsWith(parameter + '=')) { value = str.split("=")[1].trim(); break; } } return value; } protected void setSecretKeySpec(SecretKeySpec secretKeySpec) { this.mSecretKeySpec = secretKeySpec; } protected SecretKeySpec getSecretKeySpec() { return mSecretKeySpec; } }