📄 configparameteradapter.java
字号:
// 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: ConfigParameterAdapter.java
package org.gudy.azureus2.ui.swt.config;
import java.util.List;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.config.ParameterListener;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.ui.swt.config.generic.GenericParameterAdapter;
// Referenced classes of package org.gudy.azureus2.ui.swt.config:
// Parameter, ParameterChangeListener
public class ConfigParameterAdapter extends GenericParameterAdapter
{
private static final int CHANGINGCOUNT_BREAKER = 5;
private Parameter owner;
private int changingCount;
private boolean changedExternally;
protected ConfigParameterAdapter(Parameter _owner, final String configID)
{
changingCount = 0;
changedExternally = false;
owner = _owner;
COConfigurationManager.addParameterListener(configID, new ParameterListener() {
final String val$configID;
final ConfigParameterAdapter this$0;
public void parameterChanged(String parameterName)
{
if (!owner.isInitialised())
return;
if (owner.isDisposed())
{
COConfigurationManager.removeParameterListener(parameterName, this);
return;
}
try
{
informChanged(true);
Object valueObject = owner.getValueObject();
if (valueObject instanceof Boolean)
{
boolean b = COConfigurationManager.getBooleanParameter(parameterName);
owner.setValue(new Boolean(b));
} else
if (valueObject instanceof Integer)
{
int i = COConfigurationManager.getIntParameter(parameterName);
owner.setValue(new Integer(i));
} else
if (valueObject instanceof String)
{
String s = COConfigurationManager.getStringParameter(parameterName);
owner.setValue(s);
}
}
catch (Exception e)
{
Debug.out((new StringBuilder()).append("parameterChanged trigger from ConfigParamAdapter ").append(configID).toString(), e);
}
return;
}
{
this$0 = ConfigParameterAdapter.this;
configID = s;
super();
}
});
}
public int getIntValue(String key)
{
return COConfigurationManager.getIntParameter(key);
}
public int getIntValue(String key, int def)
{
return COConfigurationManager.getIntParameter(key, def);
}
public void setIntValue(String key, int value)
{
if (changingCount == 0)
changedExternally = false;
changingCount++;
if (getIntValue(key) != value)
break MISSING_BLOCK_LABEL_47;
changedExternally = true;
changingCount--;
return;
if (changingCount > 5)
{
Debug.out((new StringBuilder()).append("Preventing StackOverflow on setting ").append(key).append(" to ").append(value).append(" (was ").append(getIntValue(key)).append(") via ").append(Debug.getCompressedStackTrace()).toString());
changingCount = 1;
} else
{
informChanging(value);
if (!changedExternally)
{
COConfigurationManager.setParameter(key, value);
changedExternally = true;
}
}
changingCount--;
break MISSING_BLOCK_LABEL_167;
Exception exception;
exception;
changingCount--;
throw exception;
}
public boolean resetIntDefault(String key)
{
if (COConfigurationManager.doesParameterDefaultExist(key))
{
COConfigurationManager.removeParameter(key);
return true;
} else
{
return false;
}
}
public boolean getBooleanValue(String key)
{
return COConfigurationManager.getBooleanParameter(key);
}
public boolean getBooleanValue(String key, boolean def)
{
return COConfigurationManager.getBooleanParameter(key, def);
}
public void setBooleanValue(String key, boolean value)
{
if (changingCount == 0)
changedExternally = false;
changingCount++;
if (getBooleanValue(key) != value)
break MISSING_BLOCK_LABEL_47;
changedExternally = true;
changingCount--;
return;
if (changingCount > 5)
{
Debug.out((new StringBuilder()).append("Preventing StackOverflow on setting ").append(key).append(" to ").append(value).append(" (was ").append(getBooleanValue(key)).append(") via ").append(Debug.getCompressedStackTrace()).toString());
changingCount = 1;
} else
{
informChanging(value);
if (!changedExternally)
{
COConfigurationManager.setParameter(key, value);
changedExternally = true;
}
}
changingCount--;
break MISSING_BLOCK_LABEL_167;
Exception exception;
exception;
changingCount--;
throw exception;
}
public void informChanged(boolean internally)
{
if (owner.change_listeners != null)
{
for (int i = 0; i < owner.change_listeners.size(); i++)
try
{
((ParameterChangeListener)owner.change_listeners.get(i)).parameterChanged(owner, internally);
}
catch (Exception e)
{
Debug.out(e);
}
}
}
public void informChanging(int toValue)
{
if (owner.change_listeners != null)
{
for (int i = 0; i < owner.change_listeners.size(); i++)
try
{
ParameterChangeListener l = (ParameterChangeListener)owner.change_listeners.get(i);
l.intParameterChanging(owner, toValue);
}
catch (Exception e)
{
Debug.out(e);
}
}
}
public void informChanging(boolean toValue)
{
if (owner.change_listeners != null)
{
for (int i = 0; i < owner.change_listeners.size(); i++)
try
{
ParameterChangeListener l = (ParameterChangeListener)owner.change_listeners.get(i);
l.booleanParameterChanging(owner, toValue);
}
catch (Exception e)
{
Debug.out(e);
}
}
}
public void informChanging(String toValue)
{
if (owner.change_listeners != null)
{
for (int i = 0; i < owner.change_listeners.size(); i++)
try
{
ParameterChangeListener l = (ParameterChangeListener)owner.change_listeners.get(i);
l.stringParameterChanging(owner, toValue);
}
catch (Exception e)
{
Debug.out(e);
}
}
}
public void informChanging(double toValue)
{
if (owner.change_listeners != null)
{
for (int i = 0; i < owner.change_listeners.size(); i++)
try
{
ParameterChangeListener l = (ParameterChangeListener)owner.change_listeners.get(i);
l.floatParameterChanging(owner, toValue);
}
catch (Exception e)
{
Debug.out(e);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -