class WeiboToken extends OAuth2AccessToken {

    @Serial
    private static final long serialVersionUID = 1489916603771001585L;
    private String uid;

    /**
     * <p>Constructor for WeiboToken.</p>
     *
     * @param accessToken a {@link OAuth2AccessToken} object
     * @param uid a {@link String} object
     */
    public WeiboToken(OAuth2AccessToken accessToken, String uid) {
        super(accessToken.getAccessToken(), accessToken.getTokenType(), accessToken.getExpiresIn(),
            accessToken.getRefreshToken(), accessToken.getScope(),
            accessToken.getRawResponse());
        this.uid = uid;
    }


    /**
     * <p>Getter for the field <code>uid</code>.</p>
     *
     * @return a {@link String} object
     */
    public String getUid() {
        return uid;
    }

    /**
     * <p>Setter for the field <code>uid</code>.</p>
     *
     * @param uid a {@link String} object
     */
    public void setUid(String uid) {
        this.uid = uid;
    }

    /** {@inheritDoc} */
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof WeiboToken that)) return false;
        if (!super.equals(o)) return false;

        return uid != null ? uid.equals(that.uid) : that.uid == null;
    }

    /** {@inheritDoc} */
    @Override
    public int hashCode() {<FILL_FUNCTION_BODY>}
}

        var result = super.hashCode();
        result = 31 * result + (uid != null ? uid.hashCode() : 0);
        return result;
    
<methods>public void <init>(java.lang.String) ,public void <init>(java.lang.String, java.lang.String) ,public void <init>(java.lang.String, java.lang.String, java.lang.Integer, java.lang.String, java.lang.String, java.lang.String) ,public boolean equals(java.lang.Object) ,public java.lang.String getAccessToken() ,public java.lang.Integer getExpiresIn() ,public java.lang.String getRefreshToken() ,public java.lang.String getScope() ,public java.lang.String getTokenType() ,public int hashCode() <variables>private java.lang.String accessToken,private java.lang.Integer expiresIn,private java.lang.String refreshToken,private java.lang.String scope,private static final long serialVersionUID,private java.lang.String tokenType