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

📄 configurationmanager.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			File temp = new File(dir);
			if (!temp.exists())
				FileUtil.mkdirs(temp);
			if (!temp.isDirectory())
				throw new IOException((new StringBuilder()).append("Configuration error. This is not a directory: ").append(dir).toString());
		}
		return dir;
	}

	public float getFloatParameter(String parameter)
	{
		return getFloatParameter(parameter, 0.0F);
	}

	public float getFloatParameter(String parameter, float def_val)
	{
		ConfigurationDefaults def = ConfigurationDefaults.getInstance();
		Object o = propertiesMap.get(parameter);
		if (o instanceof Number)
			return ((Number)o).floatValue();
		String s = getStringParameter(parameter);
		if (!s.equals(""))
			return Float.parseFloat(s);
		break MISSING_BLOCK_LABEL_90;
		Exception e;
		e;
		Debug.out((new StringBuilder()).append("Parameter '").append(parameter).append("' has incorrect type").toString(), e);
		return def.getFloatParameter(parameter);
		Exception e2;
		e2;
		return def_val;
	}

	public boolean setParameter(String parameter, float defaultValue)
	{
		String newValue = String.valueOf(defaultValue);
		return setParameter(parameter, stringToBytes(newValue));
	}

	public boolean setParameter(String parameter, int defaultValue)
	{
		Long newValue = new Long(defaultValue);
		Long oldValue = (Long)propertiesMap.put(parameter, newValue);
		return notifyParameterListenersIfChanged(parameter, newValue, oldValue);
		ClassCastException e;
		e;
		notifyParameterListeners(parameter);
		return true;
	}

	public boolean setParameter(String parameter, long defaultValue)
	{
		Long newValue = new Long(defaultValue);
		Long oldValue = (Long)propertiesMap.put(parameter, newValue);
		return notifyParameterListenersIfChanged(parameter, newValue, oldValue);
		ClassCastException e;
		e;
		notifyParameterListeners(parameter);
		return true;
	}

	public boolean setParameter(String parameter, byte defaultValue[])
	{
		byte oldValue[] = (byte[])(byte[])propertiesMap.put(parameter, defaultValue);
		return notifyParameterListenersIfChanged(parameter, defaultValue, oldValue);
		ClassCastException e;
		e;
		notifyParameterListeners(parameter);
		return true;
	}

	public boolean setParameter(String parameter, String defaultValue)
	{
		return setParameter(parameter, stringToBytes(defaultValue));
	}

	public boolean hasParameter(String key, boolean explicit)
	{
		if (propertiesMap.containsKey(key))
			return true;
		return !explicit && ConfigurationDefaults.getInstance().hasParameter(key);
	}

	public boolean verifyParameter(String parameter, String value)
	{
		List verifiers;
		verifiers = ConfigurationDefaults.getInstance().getVerifiers(parameter);
		if (verifiers == null)
			break MISSING_BLOCK_LABEL_84;
		int i = 0;
_L1:
		org.gudy.azureus2.core3.config.COConfigurationManager.ParameterVerifier verifier;
		if (i >= verifiers.size())
			break MISSING_BLOCK_LABEL_84;
		verifier = (org.gudy.azureus2.core3.config.COConfigurationManager.ParameterVerifier)verifiers.get(i);
		if (verifier == null)
			break MISSING_BLOCK_LABEL_68;
		if (!verifier.verify(parameter, value))
			return false;
		break MISSING_BLOCK_LABEL_68;
		Throwable e;
		e;
		Debug.printStackTrace(e);
		i++;
		  goto _L1
		Throwable e;
		e;
		Debug.printStackTrace(e);
		return true;
	}

	public boolean setRGBParameter(String parameter, int red, int green, int blue)
	{
		boolean bAnyChanged = false;
		bAnyChanged |= setParameter((new StringBuilder()).append(parameter).append(".red").toString(), red);
		bAnyChanged |= setParameter((new StringBuilder()).append(parameter).append(".green").toString(), green);
		bAnyChanged |= setParameter((new StringBuilder()).append(parameter).append(".blue").toString(), blue);
		if (bAnyChanged)
			notifyParameterListeners(parameter);
		return bAnyChanged;
	}

	public boolean setRGBParameter(String parameter, int rgb[], boolean override)
	{
		boolean changed = false;
		if (rgb == null)
		{
			changed |= removeParameter((new StringBuilder()).append(parameter).append(".override").toString());
			changed |= removeParameter((new StringBuilder()).append(parameter).append(".red").toString());
			changed |= removeParameter((new StringBuilder()).append(parameter).append(".green").toString());
			changed |= removeParameter((new StringBuilder()).append(parameter).append(".blue").toString());
		} else
		{
			changed |= setParameter((new StringBuilder()).append(parameter).append(".override").toString(), override);
			changed |= setRGBParameter(parameter, rgb[0], rgb[1], rgb[2]);
		}
		if (changed)
			notifyParameterListeners(parameter);
		return changed;
	}

	public boolean setParameter(String parameter)
		throws ConfigurationParameterNotFoundException
	{
		ConfigurationDefaults def = ConfigurationDefaults.getInstance();
		return setParameter(parameter, def.getIntParameter(parameter));
		Exception e;
		e;
		return setParameter(parameter, def.getStringParameter(parameter));
	}

	public Object getParameter(String name)
	{
		Object value = propertiesMap.get(name);
		if (value == null)
			value = ConfigurationDefaults.getInstance().getParameter(name);
		return value;
	}

	public void setParameterRawNoNotify(String parameter, Object value)
	{
		propertiesMap.put(parameter, value);
	}

	public void registerTransientParameter(String param)
	{
		transient_properties.add(param);
	}

	public boolean removeParameter(String parameter)
	{
		boolean removed = propertiesMap.remove(parameter) != null;
		if (removed)
			notifyParameterListeners(parameter);
		return removed;
	}

	public boolean removeRGBParameter(String parameter)
	{
		boolean bAnyChanged = false;
		bAnyChanged |= removeParameter((new StringBuilder()).append(parameter).append(".red").toString());
		bAnyChanged |= removeParameter((new StringBuilder()).append(parameter).append(".green").toString());
		bAnyChanged |= removeParameter((new StringBuilder()).append(parameter).append(".blue").toString());
		bAnyChanged |= removeParameter((new StringBuilder()).append(parameter).append(".override").toString());
		if (bAnyChanged)
			notifyParameterListeners(parameter);
		return bAnyChanged;
	}

	public boolean doesParameterNonDefaultExist(String parameter)
	{
		return propertiesMap.containsKey(parameter);
	}

	private boolean notifyParameterListenersIfChanged(String parameter, Long newValue, Long oldValue)
	{
		if (oldValue == null || 0 != newValue.compareTo(oldValue))
		{
			notifyParameterListeners(parameter);
			return true;
		} else
		{
			return false;
		}
	}

	private boolean notifyParameterListenersIfChanged(String parameter, byte newValue[], byte oldValue[])
	{
		if (oldValue == null || !Arrays.equals(newValue, oldValue))
		{
			notifyParameterListeners(parameter);
			return true;
		} else
		{
			return false;
		}
	}

	private void notifyParameterListeners(String parameter)
	{
		LightHashSet parameterListener = (LightHashSet)parameterListeners.get(parameter);
		if (parameterListener == null)
			return;
		Iterator it = parameterListener.iterator();
		do
		{
			if (!it.hasNext())
				break;
			ParameterListener listener = (ParameterListener)it.next();
			if (listener != null)
				try
				{
					listener.parameterChanged(parameter);
				}
				catch (Throwable e)
				{
					Debug.printStackTrace(e);
				}
		} while (true);
	}

	public void addParameterListener(String parameter, ParameterListener listener)
	{
		this_mon.enter();
		if (parameter == null || listener == null)
		{
			this_mon.exit();
			return;
		}
		LightHashSet parameterListener = (LightHashSet)parameterListeners.get(parameter);
		if (parameterListener == null)
			parameterListeners.put(parameter, parameterListener = new LightHashSet(1));
		if (!parameterListener.contains(listener))
			parameterListener.add(listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_94;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeParameterListener(String parameter, ParameterListener listener)
	{
		this_mon.enter();
		if (parameter == null || listener == null)
		{
			this_mon.exit();
			return;
		}
		LightHashSet parameterListener = (LightHashSet)parameterListeners.get(parameter);
		if (parameterListener != null)
			parameterListener.remove(listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_67;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void addListener(COConfigurationListener listener)
	{
		this_mon.enter();
		listeners.add(listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_38;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeListener(COConfigurationListener listener)
	{
		this_mon.enter();
		listeners.remove(listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_38;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void generate(IndentWriter writer)
	{
		writer.println("Configuration Details");
		writer.indent();
		writer.println("System Properties");
		writer.indent();
		Properties props = System.getProperties();
		String key;
		for (Iterator it = (new TreeSet(props.keySet())).iterator(); it.hasNext(); writer.println((new StringBuilder()).append(key).append("=").append(props.get(key)).toString()))
			key = (String)it.next();

		writer.exdent();
		break MISSING_BLOCK_LABEL_111;
		Exception exception;
		exception;
		writer.exdent();
		throw exception;
		writer.println("Azureus Config");
		writer.indent();
		Iterator it = (new TreeSet(propertiesMap.keySet())).iterator();
		do
		{
			if (!it.hasNext())
				break;
			String key = (String)it.next();
			if (!key.startsWith("core.crypto."))
			{
				Object value = propertiesMap.get(key);
				boolean bParamExists = ConfigurationDefaults.getInstance().doesParameterDefaultExist(key.toString());
				if (!bParamExists)
					key = (new StringBuilder()).append("[NoDef] ").append(key).toString();
				if (value instanceof Long)
					writer.println((new StringBuilder()).append(key).append("=").append(value).toString());
				else
				if (value instanceof List)
					writer.println((new StringBuilder()).append(key).append("=").append(value).append("[list]").toString());
				else
				if (value instanceof Map)
					writer.println((new StringBuilder()).append(key).append("=").append(value).append("[map]").toString());
				else
				if (value instanceof byte[])
				{
					byte b[] = (byte[])(byte[])value;
					boolean hex = false;
					int i = 0;
					do
					{
						if (i >= b.length)
							break;
						char c = (char)b[i];
						if (!Character.isLetterOrDigit(c) && "`\357\277\275\"\357\277\275$%^&*()-_=+[{]};:'@#~,<.>/?'".indexOf(c) == -1)
						{
							hex = true;
							break;
						}
						i++;
					} while (true);
					writer.println((new StringBuilder()).append(key).append("=").append(hex ? ByteFormatter.nicePrint(b) : bytesToString((byte[])(byte[])value)).toString());
				} else
				{
					writer.println((new StringBuilder()).append(key).append("=").append(value).append("[unknown]").toString());
				}
			}
		} while (true);
		writer.exdent();
		break MISSING_BLOCK_LABEL_524;
		Exception exception1;
		exception1;
		writer.exdent();
		throw exception1;
		writer.exdent();
		break MISSING_BLOCK_LABEL_540;
		Exception exception2;
		exception2;
		writer.exdent();
		throw exception2;
	}

	protected static String bytesToString(byte bytes[])
	{
		return new String(bytes, "UTF8");
		Throwable e;
		e;
		return new String(bytes);
	}

	protected static byte[] stringToBytes(String str)
	{
		return str.getBytes("UTF8");
		Throwable e;
		e;
		return str.getBytes();
	}

}

⌨️ 快捷键说明

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