Home | History | Annotate | Download | only in item
      1 /*
      2  * Copyright (C) 2013 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package com.android.loganalysis.item;
     17 
     18 import java.util.Arrays;
     19 import java.util.HashSet;
     20 import java.util.Set;
     21 
     22 /**
     23  * An {@link IItem} used to store the output of the top command.
     24  */
     25 public class TopItem extends GenericItem {
     26 
     27     /** Constant for JSON output */
     28     public static final String USER = "USER";
     29     /** Constant for JSON output */
     30     public static final String NICE = "NICE";
     31     /** Constant for JSON output */
     32     public static final String SYSTEM = "SYSTEM";
     33     /** Constant for JSON output */
     34     public static final String IDLE = "IDLE";
     35     /** Constant for JSON output */
     36     public static final String IOW = "IOW";
     37     /** Constant for JSON output */
     38     public static final String IRQ = "IRQ";
     39     /** Constant for JSON output */
     40     public static final String SIRQ = "SIRQ";
     41     /** Constant for JSON output */
     42     public static final String TOTAL = "TOTAL";
     43     /** Constant for JSON output */
     44     public static final String TEXT = "TEXT";
     45 
     46     private static final Set<String> ATTRIBUTES = new HashSet<String>(Arrays.asList(
     47             USER, NICE, SYSTEM, IDLE, IOW, IRQ, SIRQ, TOTAL, TEXT));
     48 
     49     /**
     50      * The constructor for {@link TopItem}.
     51      */
     52     public TopItem() {
     53         super(ATTRIBUTES);
     54 
     55         for (String attribute : ATTRIBUTES) {
     56             setAttribute(attribute, 0);
     57         }
     58     }
     59 
     60     /**
     61      * Get the number of user ticks.
     62      */
     63     public int getUser() {
     64         return (Integer) getAttribute(USER);
     65     }
     66 
     67     /**
     68      * Set the number of user ticks.
     69      */
     70     public void setUser(int user) {
     71         setAttribute(USER, user);
     72     }
     73 
     74     /**
     75      * Get the number of nice ticks.
     76      */
     77     public int getNice() {
     78         return (Integer) getAttribute(NICE);
     79     }
     80 
     81     /**
     82      * Set the number of nice ticks.
     83      */
     84     public void setNice(int nice) {
     85         setAttribute(NICE, nice);
     86     }
     87 
     88     /**
     89      * Get the number of system ticks.
     90      */
     91     public int getSystem() {
     92         return (Integer) getAttribute(SYSTEM);
     93     }
     94 
     95     /**
     96      * Set the number of system ticks.
     97      */
     98     public void setSystem(int system) {
     99         setAttribute(SYSTEM, system);
    100     }
    101 
    102     /**
    103      * Get the number of idle ticks.
    104      */
    105     public int getIdle() {
    106         return (Integer) getAttribute(IDLE);
    107     }
    108 
    109     /**
    110      * Set the number of idle ticks.
    111      */
    112     public void setIdle(int idle) {
    113         setAttribute(IDLE, idle);
    114     }
    115 
    116     /**
    117      * Get the number of IOW ticks.
    118      */
    119     public int getIow() {
    120         return (Integer) getAttribute(IOW);
    121     }
    122 
    123     /**
    124      * Set the number of IOW ticks.
    125      */
    126     public void setIow(int iow) {
    127         setAttribute(IOW, iow);
    128     }
    129 
    130     /**
    131      * Get the number of IRQ ticks.
    132      */
    133     public int getIrq() {
    134         return (Integer) getAttribute(IRQ);
    135     }
    136 
    137     /**
    138      * Set the number of IRQ ticks.
    139      */
    140     public void setIrq(int irq) {
    141         setAttribute(IRQ, irq);
    142     }
    143 
    144     /**
    145      * Get the number of SIRQ ticks.
    146      */
    147     public int getSirq() {
    148         return (Integer) getAttribute(SIRQ);
    149     }
    150 
    151     /**
    152      * Set the number of SIRQ ticks.
    153      */
    154     public void setSirq(int sirq) {
    155         setAttribute(SIRQ, sirq);
    156     }
    157 
    158     /**
    159      * Get the number of total ticks.
    160      */
    161     public int getTotal() {
    162         return (Integer) getAttribute(TOTAL);
    163     }
    164 
    165     /**
    166      * Set the number of total ticks.
    167      */
    168     public void setTotal(int total) {
    169         setAttribute(TOTAL, total);
    170     }
    171 
    172     /**
    173      * Get the raw text of the top command.
    174      */
    175     public String getText() {
    176         return (String) getAttribute(TEXT);
    177     }
    178 
    179     /**
    180      * Set the raw text of the top command.
    181      */
    182     public void setText(String text) {
    183         setAttribute(TEXT, text);
    184     }
    185 }
    186