⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmulecorestats.java

📁 JMule是一个基于Java开发
💻 JAVA
字号:
/* *  JMule - Java file sharing client *  Copyright (C) 2007-2008 JMule team ( jmule@jmule.org / http://jmule.org ) * *  Any parts of this program derived from other projects, or contributed *  by third-party developers are copyrighted by their respective authors. * *  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 2 *  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, write to the Free Software *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. * */package org.jmule.core.statistics;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;import java.util.regex.Pattern;/** * * Created on Aug 17, 2008 * @author javajox * @author binary256_ * @version $Revision: 1.2 $ * Last changed by $Author: binary256_ $ on $Date: 2008/08/20 15:38:02 $ */public class JMuleCoreStats {	public static final String ST_NET_SESSION_DOWNLOAD_BYTES             =    "net.session.download.bytes";	public static final String ST_NET_SESSION_UPLOAD_BYTES               =    "net.session.upload.bytes";	public static final String ST_NET_SESSION_DOWNLOAD_COUNT             =    "net.session.download.count";	public static final String ST_NET_SESSION_UPLOAD_COUNT               =    "net.session.upload.count";		public static final String ST_NET_PEERS_COUNT                        =    "net.peers.count";	public static final String ST_NET_PEERS_DOWNLOAD_COUNT               =    "net.peers.download.count";	public static final String ST_NET_PEERS_UPLOAD_COUNT                 =    "net.peers.upload.count";		public static final String ST_NET_SERVERS_COUNT                      =    "net.servers.count";	public static final String ST_NET_SERVERS_DEAD_COUNT                 =    "net.servers.dead.count";	public static final String ST_NET_SERVERS_ALIVE_COUNT                =    "net.servers.alive.count";		public static final String ST_DISK_SHARED_FILES_COUNT                =    "disk.shared.files.count";	public static final String ST_DISK_SHARED_FILES_PARTIAL_COUNT        =    "disk.shared.files.partial.count";	public static final String ST_DISK_SHARED_FILES_COMPLETE_COUNT       =    "disk.shared.files.complete.count";	public static final String ST_DISK_SHARED_FILES_BYTES                =    "disk.shared.files.bytes";	public static final String ST_DISK_SHARED_FILES_PARTIAL_BYTES        =    "disk.shared.files.partial.bytes";	public static final String ST_DISK_SHARED_FILES_COMPLETE_BYTES       =    "disk.shared.files.complete.bytes";		public static final String SEARCHES_COUNT                            =    "searches.count";		private static final String[] _ST_ALL = {		ST_NET_SESSION_DOWNLOAD_BYTES,		ST_NET_SESSION_UPLOAD_BYTES,		ST_NET_SESSION_DOWNLOAD_COUNT,		ST_NET_SESSION_UPLOAD_COUNT,		ST_NET_PEERS_COUNT,		ST_NET_PEERS_DOWNLOAD_COUNT,		ST_NET_PEERS_UPLOAD_COUNT,		ST_NET_SERVERS_COUNT,		ST_NET_SERVERS_DEAD_COUNT,		ST_NET_SERVERS_ALIVE_COUNT,		ST_DISK_SHARED_FILES_COUNT,		ST_DISK_SHARED_FILES_PARTIAL_COUNT,		ST_DISK_SHARED_FILES_COMPLETE_COUNT,		ST_DISK_SHARED_FILES_BYTES,		ST_DISK_SHARED_FILES_PARTIAL_BYTES,		ST_DISK_SHARED_FILES_COMPLETE_BYTES,		SEARCHES_COUNT	};		private static class Pair {		private Set<String> types;		private JMuleCoreStatsProvider provider;		public Pair(Set<String> types, JMuleCoreStatsProvider provider) {			this.types = types;			this.provider = provider;		}		public Set<String> getTypes() {			return types;		}		public JMuleCoreStatsProvider getProvider() {			return provider;		}	}	    private static List<Pair>	providers = new ArrayList<Pair>();		public static Map<String,Object> getStats(Set<String> types) {				Set<String>	expanded = new HashSet<String>();		for(String type : types) {							Pattern pattern = Pattern.compile( type );									for(String s : _ST_ALL) {									if ( pattern.matcher( s ).matches()){					expanded.add( s );				}			}		}				Map<String,Object> result = new HashMap<String,Object>();				for(Pair pair : providers) {											pair.getProvider().updateStats( expanded, result );		}				return  result ;	}		public static void registerProvider(Set<String> types, JMuleCoreStatsProvider	provider ) {				synchronized( providers ) {						providers.add(  new Pair(types, provider));		}	}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -