All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.shiro.biz.authc.AuthcResponse Maven / Gradle / Ivy

There is a newer version: 2.0.0.RELEASE
Show newest version
package org.apache.shiro.biz.authc;

import java.util.ArrayList;

/**
 * Auth response for interacting with client.
 */
public class AuthcResponse {
	
	private static final String RT_SUCCESS = "success";
	private static final String RT_FAIL = "fail";
	private static final String RT_ERROR = "error";
	private static final String RT_LOGOUT = "logout";
	
    private final String code;
    
    private final String status;
	
    private final String msg;
    
    private final Object data;

    protected AuthcResponse(final String code, final String status, final String msg) {
        this.code = code;
        this.status = status;
        this.msg = msg;
        this.data = new ArrayList<>();
    }
    
    protected AuthcResponse(final String code, final String status, final String msg, final Object data) {
        this.code = code;
        this.status = status;
        this.msg = msg;
        this.data = data;
    }
     
    public static AuthcResponse success(final String msg) {
        return success(AuthcResponseCode.SC_AUTHC_SUCCESS.getCode(), msg);
    }
    
    public static AuthcResponse success(final int code, final String msg) {
        return success(String.valueOf(code), msg);
    }
    
    public static AuthcResponse success(final String code, final String msg) {
        return new AuthcResponse(code, RT_SUCCESS, msg);
    }
    
    public static AuthcResponse success(final Object data) {
        return of(AuthcResponseCode.SC_AUTHC_SUCCESS.getCode(), RT_SUCCESS,  data);
    }
    
    public static AuthcResponse fail(final String msg) {
        return fail(AuthcResponseCode.SC_AUTHC_FAIL.getCode(), msg);
    }
    
    public static AuthcResponse fail(final int code, final String msg) {
        return fail(String.valueOf(code), msg);
    }
    
    public static AuthcResponse fail(final String code, final String msg) {
        return new AuthcResponse(code, RT_FAIL, msg);
    }
    
    public static AuthcResponse error(final String msg) {
        return error(AuthcResponseCode.SC_AUTHC_ERROR.getCode(), msg);
    }
    
    public static AuthcResponse error(final int code, final String msg) {
        return error(String.valueOf(code), msg);
    }
    
    public static AuthcResponse error(final String code, final String msg) {
        return new AuthcResponse(code, RT_ERROR,  msg);
    }
    
    public static AuthcResponse logout(final String msg) {
        return logout(AuthcResponseCode.SC_AUTHC_LOGOUT.getCode(), msg);
    }
    
    public static AuthcResponse logout(final int code, final String msg) {
        return logout(String.valueOf(code), msg);
    }
    
    public static AuthcResponse logout(final String code, final String msg) {
        return new AuthcResponse(code, RT_LOGOUT,  msg);
    }
    
    public static AuthcResponse of(final int code, final String status, final String msg) {
        return of(String.valueOf(code), status, msg);
    }
    
    public static AuthcResponse of(final String code, final String status, final String msg) {
    	 return of(code, status, msg, new ArrayList<>());
    }
    
    public static AuthcResponse of(final String code, final String status, final Object data) {
        return new AuthcResponse(code, status, "", data);
    }
    
    public static AuthcResponse of(final String code, final String status, final String msg, final Object data) {
        return new AuthcResponse(code, status, msg, data);
    }

	public String getCode() {
		return code;
	}

	public String getStatus() {
		return status;
	}

	public String getMsg() {
		return msg;
	}

	public Object getData() {
		return data;
	}
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy