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

📄 pluginconfigimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 3 页
字号:

	public int[] getUnsafeColorParameter(String name)
	{
		return getDefaultedColorParameter(name, false);
	}

	public int[] getUnsafeColorParameter(String name, int default_value[])
	{
		return getColorParameter(name, default_value, false, false);
	}

	public float getUnsafeFloatParameter(String name)
	{
		return getDefaultedFloatParameter(name, false);
	}

	public float getUnsafeFloatParameter(String name, float default_value)
	{
		return getFloatParameter(name, default_value, false, false);
	}

	public int getUnsafeIntParameter(String name)
	{
		return getDefaultedIntParameter(name, false);
	}

	public int getUnsafeIntParameter(String name, int default_value)
	{
		return getIntParameter(name, default_value, false, false);
	}

	public long getUnsafeLongParameter(String name)
	{
		return getDefaultedLongParameter(name, false);
	}

	public long getUnsafeLongParameter(String name, long default_value)
	{
		return getLongParameter(name, default_value, false, false);
	}

	public String getUnsafeStringParameter(String name)
	{
		return getDefaultedStringParameter(name, false);
	}

	public String getUnsafeStringParameter(String name, String default_value)
	{
		return getStringParameter(name, default_value, false, false);
	}

	public void setUnsafeBooleanParameter(String name, boolean value)
	{
		if (setFakeValueWhenDisabled(key, name, new Boolean(value)))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public void setUnsafeByteParameter(String name, byte value[])
	{
		if (setFakeValueWhenDisabled(key, name, value))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public void setUnsafeColorParameter(String name, int value[])
	{
		setUnsafeColorParameter(name, value, true);
	}

	public void setUnsafeColorParameter(String name, int value[], boolean override)
	{
		if (setFakeValueWhenDisabled(key, name, value))
		{
			return;
		} else
		{
			notifyRGBParamExists(name);
			COConfigurationManager.setRGBParameter(name, value, override);
			return;
		}
	}

	public void setUnsafeFloatParameter(String name, float value)
	{
		if (setFakeValueWhenDisabled(key, name, new Float(value)))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public void setUnsafeIntParameter(String name, int value)
	{
		if (setFakeValueWhenDisabled(key, name, new Long(value)))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public void setUnsafeLongParameter(String name, long value)
	{
		if (setFakeValueWhenDisabled(key, name, new Long(value)))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public void setUnsafeStringParameter(String name, String value)
	{
		if (setFakeValueWhenDisabled(key, name, value))
		{
			return;
		} else
		{
			notifyParamExists(name);
			COConfigurationManager.setParameter(name, value);
			return;
		}
	}

	public String[] getPluginStringListParameter(String key)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		return COConfigurationManager.getStringListParameter((new StringBuilder()).append(this.key).append(key).toString()).toArray();
	}

	public void setPluginStringListParameter(String key, String value[])
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		StringListImpl list_obj = new StringListImpl(Arrays.asList(value));
		COConfigurationManager.setParameter((new StringBuilder()).append(this.key).append(key).toString(), list_obj);
	}

	public List getPluginListParameter(String key, List default_value)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		return COConfigurationManager.getListParameter((new StringBuilder()).append(this.key).append(key).toString(), default_value);
	}

	public void setPluginListParameter(String key, List value)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		COConfigurationManager.setParameter((new StringBuilder()).append(this.key).append(key).toString(), value);
	}

	public Map getPluginMapParameter(String key, Map default_value)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		return COConfigurationManager.getMapParameter((new StringBuilder()).append(this.key).append(key).toString(), default_value);
	}

	public void setPluginMapParameter(String key, Map value)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		COConfigurationManager.setParameter((new StringBuilder()).append(this.key).append(key).toString(), value);
	}

	public void setPluginParameter(String key, int value, boolean global)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		COConfigurationManager.setParameter((new StringBuilder()).append(this.key).append(key).toString(), value);
		if (global)
			MagnetURIHandler.getSingleton().addInfo((new StringBuilder()).append(this.key).append(key).toString(), value);
	}

	public ConfigParameter getParameter(String key)
	{
		return new ConfigParameterImpl(mapKeyName(key, false));
	}

	public ConfigParameter getPluginParameter(String key)
	{
		return new ConfigParameterImpl((new StringBuilder()).append(this.key).append(key).toString());
	}

	public boolean removePluginParameter(String key)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		return COConfigurationManager.removeParameter((new StringBuilder()).append(this.key).append(key).toString());
	}

	public boolean removePluginColorParameter(String key)
	{
		notifyParamExists((new StringBuilder()).append(this.key).append(key).toString());
		return COConfigurationManager.removeRGBParameter((new StringBuilder()).append(this.key).append(key).toString());
	}

	public Map getUnsafeParameterList()
	{
		Set params = COConfigurationManager.getAllowedParameters();
		Iterator it = params.iterator();
		Map result = new HashMap();
		do
		{
			if (!it.hasNext())
				break;
			try
			{
				String name = (String)it.next();
				Object val = COConfigurationManager.getParameter(name);
				if (!(val instanceof String) && !(val instanceof Long))
					if (val instanceof byte[])
						val = new String((byte[])(byte[])val, "UTF-8");
					else
					if (val instanceof Integer)
						val = new Long(((Integer)val).intValue());
					else
					if (val instanceof List)
						val = null;
					else
					if (val instanceof Map)
						val = null;
					else
					if (val instanceof Boolean)
						val = new Long(((Boolean)val).booleanValue() ? 1L : 0L);
					else
					if ((val instanceof Float) || (val instanceof Double))
						val = val.toString();
				if (val != null)
					result.put(name, val);
			}
			catch (Throwable e)
			{
				Debug.printStackTrace(e);
			}
		} while (true);
		return result;
	}

	public void save()
	{
		COConfigurationManager.save();
	}

	public File getPluginUserFile(String name)
	{
		String dir = plugin_interface.getUtilities().getAzureusUserDir();
		File file = new File(dir, "plugins");
		String p_dir = plugin_interface.getPluginDirectoryName();
		if (p_dir.length() != 0)
		{
			int lp = p_dir.lastIndexOf(File.separatorChar);
			if (lp != -1)
				p_dir = p_dir.substring(lp + 1);
			file = new File(file, p_dir);
		} else
		{
			String id = plugin_interface.getPluginID();
			if (id.length() > 0 && !id.equals("<internal>"))
				file = new File(file, id);
			else
				throw new RuntimeException("Plugin was not loaded from a directory");
		}
		FileUtil.mkdirs(file);
		return new File(file, name);
	}

	public void addListener(final PluginConfigListener l)
	{
		COConfigurationManager.addListener(new COConfigurationListener() {

			final PluginConfigListener val$l;
			final PluginConfigImpl this$0;

			public void configurationSaved()
			{
				l.configSaved();
			}

			
			{
				this$0 = PluginConfigImpl.this;
				l = pluginconfiglistener;
				super();
			}
		});
	}

	private String mapKeyName(String key, boolean for_set)
	{
		String result = (String)external_to_internal_key_map.get(key);
		if (result == null)
		{
			if (for_set)
				throw new RuntimeException((new StringBuilder()).append("No permission to set the value of core parameter: ").append(key).toString());
			else
				return key;
		} else
		{
			return result;
		}
	}

	public boolean hasParameter(String param_name)
	{
		return COConfigurationManager.hasParameter(param_name, false);
	}

	public boolean hasPluginParameter(String param_name)
	{
		notifyParamExists((new StringBuilder()).append(key).append(param_name).toString());
		return COConfigurationManager.hasParameter((new StringBuilder()).append(key).append(param_name).toString(), true);
	}

	public void notifyRGBParamExists(String param)
	{
		notifyParamExists((new StringBuilder()).append(param).append(".red").toString());
		notifyParamExists((new StringBuilder()).append(param).append(".blue").toString());
		notifyParamExists((new StringBuilder()).append(param).append(".green").toString());
		notifyParamExists((new StringBuilder()).append(param).append(".override").toString());
	}

	public void notifyParamExists(String param)
	{
		if (allow_key_modification && param.startsWith(key))
			allow_key_modification = false;
		if (external_source != null && param.startsWith(key))
			external_source.registerParameter(param);
	}

	public PluginConfigSource enableExternalConfigSource()
	{
		PluginConfigSourceImpl source = new PluginConfigSourceImpl(this, plugin_interface.getPluginID());
		setPluginConfigSource(source);
		return source;
	}

	public PluginConfigSource getPluginConfigSource()
	{
		return external_source;
	}

	public void setPluginConfigSource(PluginConfigSource source)
	{
		if (external_source != null)
			throw new RuntimeException("external config source already associated!");
		PluginConfigSourceImpl source_impl = (PluginConfigSourceImpl)source;
		String used_key = source_impl.getUsedKeyPrefix();
		if (used_key != null && !getPluginConfigKeyPrefix().startsWith(used_key))
		{
			throw new RuntimeException((new StringBuilder()).append("cannot use this config source object - incompatible prefix keys: ").append(used_key).append(" / ").append(getPluginConfigKeyPrefix()).toString());
		} else
		{
			external_source = (PluginConfigSourceImpl)source;
			return;
		}
	}

	static 
	{
		external_to_internal_key_map = new HashMap();
		external_to_internal_key_map.put("Max Upload Speed KBs", "Max Upload Speed KBs");
		external_to_internal_key_map.put("Max Upload Speed When Only Seeding KBs", "Max Upload Speed Seeding KBs");
		external_to_internal_key_map.put("Max Download Speed KBs", "Max Download Speed KBs");
		external_to_internal_key_map.put("Max Connections Global", "Max.Peer.Connections.Total");
		external_to_internal_key_map.put("Max Connections Per Torrent", "Max.Peer.Connections.Per.Torrent");
		external_to_internal_key_map.put("Max Downloads", "max downloads");
		external_to_internal_key_map.put("Max Active Torrents", "max active torrents");
		external_to_internal_key_map.put("Max Active Torrents When Only Seeding", "StartStopManager_iMaxActiveTorrentsWhenSeeding");
		external_to_internal_key_map.put("Max Uploads", "Max Uploads");
		external_to_internal_key_map.put("Max Uploads Seeding", "Max Uploads Seeding");
		external_to_internal_key_map.put("Max Upload Speed When Only Seeding Enabled", "enable.seedingonly.upload.rate");
		external_to_internal_key_map.put("Max Active Torrents When Only Seeding Enabled", "StartStopManager_bMaxActiveTorrentsWhenSeedingEnabled");
		external_to_internal_key_map.put("Auto Upload Speed Enabled", "Auto Upload Speed Enabled");
		external_to_internal_key_map.put("SOCKS Proxy No Inward Connection", "Proxy.Data.SOCKS.inform");
		external_to_internal_key_map.put("Newly Seeding Torrents Get First Priority", "Newly Seeding Torrents Get First Priority");
		external_to_internal_key_map.put("CORE_PARAM_STRING_LOCAL_BIND_IP", "Bind IP");
		external_to_internal_key_map.put("CORE_PARAM_BOOLEAN_FRIENDLY_HASH_CHECKING", "diskmanager.friendly.hashchecking");
		external_to_internal_key_map.put("GUI_PARAM_INT_SWT_REFRESH_IN_MS", "GUI Refresh");
		external_to_internal_key_map.put("CORE_PARAM_BOOLEAN_NEW_TORRENTS_START_AS_STOPPED", "Default Start Torrents Stopped");
		external_to_internal_key_map.put("Incoming TCP Port", "TCP.Listen.Port");
		external_to_internal_key_map.put("Incoming UDP Port", "UDP.Listen.Port");
		external_to_internal_key_map.put("Default save path", "Default save path");
		String passthrough_params[] = {
			"Open MyTorrents", "IconBar.enabled", "Wizard Completed", "welcome.version.lastshown"
		};
		for (int i = 0; i < passthrough_params.length; i++)
			external_to_internal_key_map.put(passthrough_params[i], passthrough_params[i]);

	}
}

⌨️ 快捷键说明

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