com.swisscom.safeconnect.model.PlumberStatsResponse.java Source code

Java tutorial

Introduction

Here is the source code for com.swisscom.safeconnect.model.PlumberStatsResponse.java

Source

/*
 Swisscom Safe Connect
 Copyright (C) 2014 Swisscom
    
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
    
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
    
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package com.swisscom.safeconnect.model;

import org.json.JSONObject;

import java.util.Locale;

/**
 * Created by vadim on 15.07.14.
 */
public class PlumberStatsResponse extends PlumberResponse {
    private String phone;
    private String username;
    private String deviceId;
    private TrafficStats currentStats;
    private TrafficStats todayStats;
    private TrafficStats monthStats;
    private TrafficStats totalStats;

    public PlumberStatsResponse() {
        fromJson((JSONObject) null);
    }

    public PlumberStatsResponse(String json) {
        super(json);
    }

    public PlumberStatsResponse(JSONObject json) {
        super(json);
    }

    @Override
    public String toString() {
        return String.format(Locale.getDefault(),
                "PlumberStatsResponse {" + "\nphone: %s" + "\nusername: %s" + "\ncurrent: %s" + "\ntoday: %s"
                        + "\nmonth: %s" + "\ntotal: %s" + "\n}",
                phone, username, currentStats.toString(), todayStats.toString(), monthStats.toString(),
                totalStats.toString());
    }

    public boolean isUserActive() {
        return username != null && !username.isEmpty();
    }

    @Override
    protected void fromJson(JSONObject json) {
        if (json == null) {
            currentStats = new TrafficStats();
            todayStats = new TrafficStats();
            monthStats = new TrafficStats();
            totalStats = new TrafficStats();
            phone = username = null;
            return;
        }

        phone = json.optString("phone");
        username = json.optString("user_name");
        deviceId = json.optString("device_id");
        currentStats = new TrafficStats(json.optJSONObject("session_stat"));
        todayStats = new TrafficStats(json.optJSONObject("day_stat"));
        monthStats = new TrafficStats(json.optJSONObject("month_stat"));
        totalStats = new TrafficStats(json.optJSONObject("total_stat"));
    }

    public String getPhone() {
        return phone;
    }

    public String getUsername() {
        return username;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public TrafficStats getCurrentStats() {
        return currentStats;
    }

    public TrafficStats getTodayStats() {
        return todayStats;
    }

    public TrafficStats getMonthStats() {
        return monthStats;
    }

    public TrafficStats getTotalStats() {
        return totalStats;
    }
}