Package org.jmanage.core.management.data.jsr77

Source Code of org.jmanage.core.management.data.jsr77.StatsFormat

/**
* Copyright (c) 2004-2005 jManage.org
*
* This is a free software; you can redistribute it and/or
* modify it under the terms of the license at
* http://www.jmanage.org.
*
* 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 org.jmanage.core.management.data.jsr77;

import org.jmanage.core.management.data.DataFormat;

import javax.management.j2ee.statistics.BoundaryStatistic;
import javax.management.j2ee.statistics.BoundedRangeStatistic;
import javax.management.j2ee.statistics.CountStatistic;
import javax.management.j2ee.statistics.RangeStatistic;
import javax.management.j2ee.statistics.Statistic;
import javax.management.j2ee.statistics.Stats;
import javax.management.j2ee.statistics.TimeStatistic;

/**
* Name: <stats name>
* Description: <stats description>
* Unit: <stats unit>
* Start Time: <start time>
* Last Sample Time: <last sample time>
* <stats info>
*
* TODO: Need to handle subclasses of Stats -rk
* <p>
* Date:  April 14, 2006
* @author  Rakesh Kalra
*/
public class StatsFormat implements DataFormat {

    public String format(Object data) {
        StringBuffer output = new StringBuffer();
        Stats stats = (Stats)data;
        for(Statistic statistic:stats.getStatistics()){
            output.append("Name: ");
            output.append(statistic.getName());
            output.append("\n");
            output.append("Description: ");
            output.append(statistic.getDescription());
            output.append("\n");
            output.append("Unit: ");
            output.append(statistic.getUnit());
            output.append("\n");
            output.append("Start Time: ");
            output.append(statistic.getStartTime());
            output.append("\n");
            output.append("Last Sample Time: ");
            output.append(statistic.getLastSampleTime());
            output.append("\n");
            output.append(getStatisticsInfo(statistic));
            output.append("\n");
            output.append("\n");
        }
        return output.toString();
    }
   
    private String getStatisticsInfo(Statistic statistic){
        if(statistic instanceof BoundaryStatistic){
            return toString((BoundaryStatistic)statistic);
        }else if(statistic instanceof BoundedRangeStatistic){
            return toString((BoundedRangeStatistic)statistic);
        }else if(statistic instanceof CountStatistic){
            return toString((CountStatistic)statistic);
        }else if(statistic instanceof BoundedRangeStatistic){
            return toString((BoundedRangeStatistic)statistic);
        }else if(statistic instanceof RangeStatistic){
            return toString((RangeStatistic)statistic);
        }else if(statistic instanceof TimeStatistic){
            return toString((TimeStatistic)statistic);
        }else{
            return statistic.toString();
        }
    }
   
    private String toString(BoundaryStatistic statistic){
        return "Low: " + statistic.getLowerBound() + " High: " + statistic.getUpperBound();
    }
   
    private String toString(BoundedRangeStatistic statistic){
        return toString((BoundaryStatistic)statistic) + " " + toString((RangeStatistic)statistic);
    }
   
    private String toString(CountStatistic statistic){
        return "Count: " + statistic.getCount();
    }
   
    private String toString(RangeStatistic statistic){
        return "Lowest: " + statistic.getLowWaterMark() + " Higest: " + statistic.getHighWaterMark();
    }
   
    private String toString(TimeStatistic statistic){
        return "Min: " + statistic.getMinTime() + " Max: " + statistic.getMaxTime();
    }
   
}
TOP

Related Classes of org.jmanage.core.management.data.jsr77.StatsFormat

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.