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

📄 pluginconfigimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   PluginConfigImpl.java

package org.gudy.azureus2.pluginsimpl.local;

import com.aelitis.net.magneturi.MagnetURIHandler;
import java.io.File;
import java.util.*;
import org.gudy.azureus2.core3.config.*;
import org.gudy.azureus2.core3.config.impl.ConfigurationDefaults;
import org.gudy.azureus2.core3.config.impl.StringListImpl;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.core3.util.FileUtil;
import org.gudy.azureus2.plugins.*;
import org.gudy.azureus2.plugins.config.ConfigParameter;
import org.gudy.azureus2.plugins.config.PluginConfigSource;
import org.gudy.azureus2.plugins.utils.Utilities;
import org.gudy.azureus2.pluginsimpl.local.config.ConfigParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.config.PluginConfigSourceImpl;

public class PluginConfigImpl
	implements PluginConfig
{

	protected static Map external_to_internal_key_map;
	private PluginConfigSourceImpl external_source;
	private static Map fake_values_when_disabled;
	private static int fake_values_ref_count;
	private PluginInterface plugin_interface;
	private String key;
	private boolean allow_key_modification;

	public void checkValidCoreParam(String name)
	{
		if (!external_to_internal_key_map.containsKey(name))
			throw new IllegalArgumentException((new StringBuilder()).append("invalid core parameter: ").append(name).toString());
		else
			return;
	}

	public static void setEnablePluginCoreConfigChange(boolean enabled)
	{
		synchronized (org/gudy/azureus2/pluginsimpl/local/PluginConfigImpl)
		{
			if (enabled)
			{
				fake_values_ref_count--;
				if (fake_values_ref_count == 0)
					fake_values_when_disabled = null;
			} else
			{
				fake_values_ref_count++;
				if (fake_values_ref_count == 1)
					fake_values_when_disabled = new HashMap();
			}
		}
	}

	private static Object getFakeValueWhenDisabled(String key, String name)
	{
		if (name.startsWith(key))
			return null;
		/*<invalid signature>*/java.lang.Object local = org/gudy/azureus2/pluginsimpl/local/PluginConfigImpl;
		JVM INSTR monitorenter ;
		if (fake_values_when_disabled != null)
			return fake_values_when_disabled.get(name);
		local;
		JVM INSTR monitorexit ;
		  goto _L1
		Exception exception;
		exception;
		throw exception;
_L1:
		return null;
	}

	private static boolean setFakeValueWhenDisabled(String key, String name, Object value)
	{
		if (name.startsWith(key))
			return false;
		/*<invalid signature>*/java.lang.Object local = org/gudy/azureus2/pluginsimpl/local/PluginConfigImpl;
		JVM INSTR monitorenter ;
		if (fake_values_when_disabled == null)
			break MISSING_BLOCK_LABEL_37;
		fake_values_when_disabled.put(name, value);
		return true;
		local;
		JVM INSTR monitorexit ;
		  goto _L1
		Exception exception;
		exception;
		throw exception;
_L1:
		return false;
	}

	public PluginConfigImpl(PluginInterface _plugin_interface, String _key)
	{
		external_source = null;
		plugin_interface = _plugin_interface;
		key = (new StringBuilder()).append(_key).append(".").toString();
		allow_key_modification = true;
	}

	public boolean isNewInstall()
	{
		return COConfigurationManager.isNewInstall();
	}

	public String getPluginConfigKeyPrefix()
	{
		return key;
	}

	public void setPluginConfigKeyPrefix(String _key)
	{
		if (!allow_key_modification)
			throw new RuntimeException("cannot modify key prefix - already in use");
		if (_key.length() > 0 || plugin_interface.getPluginState().isBuiltIn())
			key = _key;
		else
			throw new RuntimeException((new StringBuilder()).append("Can't set Plugin Config Key Prefix to '").append(_key).append("'").toString());
	}

	private boolean getBooleanParameter(String name, boolean _default, boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return ((Boolean)obj).booleanValue();
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setBooleanDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getBooleanParameter(name);
	}

	private int[] getColorParameter(String name, int _default[], boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return (int[])(int[])obj;
		if (map_name)
			name = mapKeyName(name, false);
		int result[] = getColorParameter0(name, _default, set_default);
		if (result == null)
			return null;
		if (result.length == 3)
		{
			int result2[] = new int[4];
			System.arraycopy(result, 0, result2, 0, 3);
			result2[3] = getIntParameter(name, 0, false, false);
			result = result2;
		}
		return result;
	}

	private int[] getColorParameter0(String name, int _default[], boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return (int[])(int[])obj;
		notifyRGBParamExists(name);
		if (set_default)
		{
			if (_default != null)
			{
				COConfigurationManager.setIntDefault((new StringBuilder()).append(name).append(".red").toString(), _default[0]);
				COConfigurationManager.setIntDefault((new StringBuilder()).append(name).append(".green").toString(), _default[1]);
				COConfigurationManager.setIntDefault((new StringBuilder()).append(name).append(".blue").toString(), _default[2]);
			} else
			{
				throw new RuntimeException("color parameter default is null");
			}
		} else
		if (!hasParameter((new StringBuilder()).append(name).append(".red").toString()))
			return _default;
		return (new int[] {
			COConfigurationManager.getIntParameter((new StringBuilder()).append(name).append(".red").toString()), COConfigurationManager.getIntParameter((new StringBuilder()).append(name).append(".green").toString()), COConfigurationManager.getIntParameter((new StringBuilder()).append(name).append(".blue").toString()), COConfigurationManager.getIntParameter((new StringBuilder()).append(name).append(".override").toString())
		});
	}

	private byte[] getByteParameter(String name, byte _default[], boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return (byte[])(byte[])obj;
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setByteDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getByteParameter(name);
	}

	private float getFloatParameter(String name, float _default, boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return ((Float)obj).floatValue();
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setFloatDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getFloatParameter(name);
	}

	private int getIntParameter(String name, int _default, boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return ((Long)obj).intValue();
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setIntDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getIntParameter(name);
	}

	private long getLongParameter(String name, long _default, boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return ((Long)obj).longValue();
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setLongDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getLongParameter(name);
	}

	private String getStringParameter(String name, String _default, boolean map_name, boolean set_default)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return (String)obj;
		if (map_name)
			name = mapKeyName(name, false);
		notifyParamExists(name);
		if (set_default)
			COConfigurationManager.setStringDefault(name, _default);
		else
		if (!hasParameter(name))
			return _default;
		return COConfigurationManager.getStringParameter(name);
	}

	private boolean getDefaultedBooleanParameter(String name, boolean map_name)
	{
		Object obj = getFakeValueWhenDisabled(key, name);
		if (obj != null)
			return ((Boolean)obj).booleanValue();
		else
			return getBooleanParameter(name, false, map_name, false);
	}

	private byte[] getDefaultedByteParameter(String name, boolean map_name)
	{
		return getByteParameter(name, ConfigurationDefaults.def_bytes, map_name, false);
	}

	private int[] getDefaultedColorParameter(String name, boolean map_name)
	{
		int default_value[] = {
			0, 0, 0, 1
		};
		return getColorParameter(name, default_value, map_name, false);
	}

	private float getDefaultedFloatParameter(String name, boolean map_name)
	{
		return getFloatParameter(name, 0.0F, map_name, false);
	}

	private int getDefaultedIntParameter(String name, boolean map_name)
	{
		return getIntParameter(name, 0, map_name, false);
	}

	private long getDefaultedLongParameter(String name, boolean map_name)
	{
		return getLongParameter(name, 0L, map_name, false);
	}

	private String getDefaultedStringParameter(String name, boolean map_name)
	{
		return getStringParameter(name, "", map_name, false);
	}

	/**
	 * @deprecated Method getBooleanParameter is deprecated
	 */

	public boolean getBooleanParameter(String name)
	{
		return getDefaultedBooleanParameter(name, true);
	}

	/**
	 * @deprecated Method getBooleanParameter is deprecated
	 */

	public boolean getBooleanParameter(String name, boolean default_value)
	{
		return getBooleanParameter(name, default_value, true, false);
	}

	/**
	 * @deprecated Method getByteParameter is deprecated
	 */

	public byte[] getByteParameter(String name)
	{
		return getDefaultedByteParameter(name, true);
	}

	/**
	 * @deprecated Method getByteParameter is deprecated
	 */

	public byte[] getByteParameter(String name, byte default_value[])
	{
		return getByteParameter(name, default_value, true, false);
	}

	/**
	 * @deprecated Method getFloatParameter is deprecated
	 */

	public float getFloatParameter(String name)
	{
		return getDefaultedFloatParameter(name, true);
	}

	/**
	 * @deprecated Method getFloatParameter is deprecated
	 */

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

	/**
	 * @deprecated Method getIntParameter is deprecated
	 */

	public int getIntParameter(String name)
	{
		return getDefaultedIntParameter(name, true);
	}

	/**
	 * @deprecated Method getIntParameter is deprecated
	 */

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

	/**
	 * @deprecated Method getLongParameter is deprecated
	 */

	public long getLongParameter(String name)
	{
		return getDefaultedLongParameter(name, true);
	}

	/**
	 * @deprecated Method getLongParameter is deprecated
	 */

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

	/**
	 * @deprecated Method getStringParameter is deprecated
	 */

	public String getStringParameter(String name)
	{
		return getDefaultedStringParameter(name, true);
	}

	/**
	 * @deprecated Method getStringParameter is deprecated
	 */

⌨️ 快捷键说明

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