ConfigurationDefaultspublic class ConfigurationDefaults extends Object Some (proposed) option naming conventions:
- Starts with a general identifier
General_ for, well, general things =)
Server_ for webinterface specific things
GUI_ (eventually) for GUI specific things
Core_ (eventually) for core specific things
- Second is some identifing term. It starts with a small letter denoting
the vaiable type.
b Boolean
i Integer
s String
- Directory options should end with _Directory. This activates some
special validity checks in the webinterface option parsing code.
(Namely they are created if they don't exist and the option isn't changed
with a logged error if a normal file of the same name exists) |
Fields Summary |
---|
private static final Long | ZERO | private static final Long | ONE | private static final Long | FALSE | private static final Long | TRUE | private static ConfigurationDefaults | configdefaults | private static AEMonitor | class_mon | private HashMap | def | public static final int | def_int | public static final long | def_long | public static final float | def_float | public static final int | def_boolean | public static final String | def_String | public static final byte[] | def_bytes | private Hashtable | parameter_verifiers |
Constructors Summary |
---|
protected ConfigurationDefaults()Creates a new instance of Defaults
def = new HashMap();
/** Core settings **/
def.put("Override Ip", "");
def.put("Enable incremental file creation", FALSE);
def.put("TCP.Listen.Port", new Long( 6881 ));
def.put("TCP.Listen.Port.Enable", TRUE );
def.put("TCP.Listen.Port.Override", "");
def.put("UDP.Listen.Port", new Long( 6881 ));
def.put("UDP.Listen.Port.Enable", TRUE );
def.put("UDP.NonData.Listen.Port", new Long( 6881 )); // two effective enablers for this, dht + tracker udp client
def.put("UDP.NonData.Listen.Port.Same", TRUE ); // control over whether non-data and data udp port are the same
def.put("HTTP.Data.Listen.Port", new Long( Constants.isWindows?80:8080 ));
def.put("HTTP.Data.Listen.Port.Override", ZERO);
def.put("HTTP.Data.Listen.Port.Enable", FALSE );
def.put("IPV6 Prefer Addresses",FALSE);
def.put("max active torrents", new Long(4));
def.put("max downloads", new Long(4));
def.put("min downloads", ONE);
def.put("Newly Seeding Torrents Get First Priority", TRUE);
def.put("Max.Peer.Connections.Per.Torrent", new Long(COConfigurationManager.CONFIG_DEFAULT_MAX_CONNECTIONS_PER_TORRENT));
def.put("Max.Peer.Connections.Per.Torrent.When.Seeding", new Long(COConfigurationManager.CONFIG_DEFAULT_MAX_CONNECTIONS_PER_TORRENT));
def.put("Max.Peer.Connections.Per.Torrent.When.Seeding.Enable", FALSE );
def.put("Max.Peer.Connections.Total", new Long(COConfigurationManager.CONFIG_DEFAULT_MAX_CONNECTIONS_GLOBAL));
def.put( "Peer.Fast.Initial.Unchoke.Enabled", FALSE );
def.put( "File Max Open", new Long(50));
def.put( "Use Config File Backups", TRUE);
def.put( "Max Uploads", new Long(4) );
def.put( "Max Uploads Seeding", new Long(4));
def.put( "enable.seedingonly.maxuploads", FALSE );
def.put( "max.uploads.when.busy.inc.min.secs", new Long( 30 ));
def.put( "Max Download Speed KBs", ZERO );
def.put( "Max Upload Speed KBs", ZERO);
def.put( "Max Upload Speed Seeding KBs", ZERO );
def.put( "enable.seedingonly.upload.rate", FALSE );
def.put( "Max Seeds Per Torrent", ZERO);
//def.put( "Auto Upload Speed Enabled", FALSE );
def.put( TransferSpeedValidator.AUTO_UPLOAD_ENABLED_CONFIGKEY, FALSE ); //"Auto Upload Speed Enabled"
def.put( "Auto Upload Speed Seeding Enabled", FALSE );
def.put( "AutoSpeed Available", FALSE ); // informative read-only parameter
def.put( "AutoSpeed Min Upload KBs", ZERO );
def.put( "AutoSpeed Max Upload KBs", ZERO );
def.put( "AutoSpeed Max Increment KBs", ONE);
def.put( "AutoSpeed Max Decrement KBs", new Long(4));
def.put( "AutoSpeed Choking Ping Millis", new Long(200) );
def.put( "AutoSpeed Download Adj Enable", FALSE );
def.put( "AutoSpeed Download Adj Ratio", "1.0" );
def.put( "AutoSpeed Latency Factor", new Long(50));
def.put( "AutoSpeed Forced Min KBs", new Long(4));
def.put( "Auto Upload Speed Debug Enabled", FALSE );
def.put( "ASN Autocheck Performed Time", ZERO );
def.put( "LAN Speed Enabled", TRUE );
def.put( "Max LAN Download Speed KBs", ZERO );
def.put( "Max LAN Upload Speed KBs", ZERO );
def.put("Use Resume", TRUE);
def.put("On Resume Recheck All", FALSE);
def.put("Save Resume Interval", new Long(5));
def.put("Check Pieces on Completion", TRUE);
def.put("Stop Ratio", new Float(0));
def.put("Stop Peers Ratio", ZERO);
def.put("Disconnect Seed", TRUE);
def.put("Seeding Piece Check Recheck Enable", TRUE );
def.put("priorityExtensions", "");
def.put("priorityExtensionsIgnoreCase", FALSE);
def.put("Ip Filter Enabled", TRUE);
def.put("Ip Filter Allow",FALSE);
def.put("Ip Filter Enable Banning", TRUE);
def.put("Ip Filter Ban Block Limit", new Long(4));
def.put("Ip Filter Ban Discard Ratio", "5.0" );
def.put("Ip Filter Ban Discard Min KB", new Long(128));
def.put("Ip Filter Banning Persistent", TRUE);
def.put("Ip Filter Enable Description Cache", TRUE);
def.put("Ip Filter Autoload File", "");
def.put("Allow Same IP Peers",FALSE);
def.put("Use Super Seeding",FALSE);
def.put("Pause Downloads On Exit", FALSE );
def.put("Resume Downloads On Start", FALSE );
// SWT GUI Settings
def.put("User Mode", ZERO);
//default data location options
def.put("Use default data dir", FALSE);
String docPath = SystemProperties.getDocPath();
File f = new File(docPath, "Azureus Downloads");
def.put("Default save path", f.getAbsolutePath());
def.put("update.start",TRUE);
def.put("update.periodic",TRUE);
def.put("update.opendialog",TRUE);
def.put("update.autodownload", FALSE);
def.put("Send Version Info", TRUE);
// Logging
def.put("Logger.Enabled", FALSE); //logging in general
def.put("Logging Enable", FALSE); //file logging
def.put("Logging Dir", "");
def.put("Logging Max Size", new Long(5));
int[] logComponents = { 0, 1, 2, 4 };
for (int i = 0; i < logComponents.length; i++)
for (int j = 0; j <= 3; j++)
def.put("bLog" + logComponents[i] + "-" + j, TRUE);
def.put("Logger.DebugFiles.Enabled", TRUE);
def.put("Logging Enable UDP Transport", FALSE);
//tracker proxy defaults
def.put( "Enable.Proxy", FALSE );
def.put( "Enable.SOCKS", FALSE );
def.put( "Proxy.Host", "" );
def.put( "Proxy.Port", "" );
def.put( "Proxy.Username", "<none>" ); // default is explicit "none", as opposed to "not defined"
def.put( "Proxy.Password", "" );
def.put( "Proxy.Check.On.Start", TRUE );
// data proxy defaults
def.put( "Proxy.Data.Enable", FALSE);
def.put( "Proxy.Data.SOCKS.version", "V4" );
def.put( "Proxy.Data.SOCKS.inform", TRUE);
def.put( "Proxy.Data.Same", TRUE);
def.put( "Proxy.Data.Host", "" );
def.put( "Proxy.Data.Port", "" );
def.put( "Proxy.Data.Username", "<none>" );
def.put( "Proxy.Data.Password", "" );
//old
def.put( "Start Num Peers", new Long(-1) );
def.put( "Max Upload Speed", new Long(-1) );
def.put( "Max Clients", new Long(-1) );
def.put( "Server.shared.port", TRUE );
def.put( "Low Port", new Long(6881) );
def.put( "Already_Migrated", FALSE );
//misc
def.put( "ID", "" );
def.put( "Play Download Finished", FALSE );
def.put( "Play Download Finished File", "" );
def.put( "Watch Torrent Folder", FALSE );
def.put( "Watch Torrent Folder Interval", ONE );
def.put( "Start Watched Torrents Stopped", FALSE );
def.put( "Watch Torrent Folder Path", "" );
def.put( "Prioritize First Piece", FALSE );
def.put( "Prioritize Most Completed Files", FALSE );
def.put( "Piece Picker Request Hint Enabled", TRUE );
def.put( "Use Lazy Bitfield", FALSE );
def.put( "Zero New", FALSE );
def.put( "XFS Allocation", FALSE );
def.put( "Copy And Delete Data Rather Than Move", FALSE);
def.put( "File.save.peers.enable", TRUE );
def.put( "File.strict.locking", TRUE );
def.put( "Move Deleted Data To Recycle Bin", TRUE);
def.put( "Popup Download Finished", FALSE);
def.put( "Popup File Finished", FALSE);
def.put( "Popup Download Added", FALSE);
def.put( "Show Timestamp For Alerts", FALSE);
def.put( "Use Message Box For Popups", FALSE);
def.put( "Suppress Alerts", FALSE);
//default torrent directory option
def.put( "Save Torrent Files", TRUE );
def.put("General_sDefaultTorrent_Directory", SystemProperties.getUserPath()+"torrents");
def.put( "Bind IP", "" );
def.put( "Stats Export Peer Details", FALSE );
def.put( "Stats XSL File", "" );
def.put( "Stats Enable", FALSE );
def.put( "Stats Period", new Long(StatsWriterPeriodic.DEFAULT_SLEEP_PERIOD) );
def.put( "Stats Dir", "" );
def.put( "Stats File", StatsWriterPeriodic.DEFAULT_STATS_FILE_NAME );
def.put( "File.Torrent.IgnoreFiles", TOTorrent.DEFAULT_IGNORE_FILES );
def.put( "File.save.peers.max", new Long( TRTrackerAnnouncer.DEFAULT_PEERS_TO_CACHE ) );
// tracker
def.put( "Tracker Compact Enable", TRUE );
def.put( "Tracker Key Enable Client", TRUE );
def.put( "Tracker Key Enable Server", TRUE );
def.put( "Tracker Separate Peer IDs", FALSE);
def.put( "Tracker Client Connect Timeout", new Long(120));
def.put( "Tracker Client Read Timeout", new Long(60));
def.put( "Tracker Client Send OS and Java Version", TRUE);
def.put( "Tracker Client Show Warnings", TRUE);
def.put( "Tracker Client Min Announce Interval", ZERO);
def.put( "Tracker Client Numwant Limit", new Long(100));
def.put( "Tracker Client No Port Announce", FALSE);
def.put( "Tracker Public Enable", FALSE );
def.put( "Tracker Log Enable", FALSE );
def.put( "Tracker Port Enable", FALSE );
def.put( "Tracker Port", new Long( TRHost.DEFAULT_PORT ) );
def.put( "Tracker Port Backups", "" );
def.put( "Tracker Port SSL Enable", FALSE );
def.put( "Tracker Port SSL", new Long( TRHost.DEFAULT_PORT_SSL ) );
def.put( "Tracker Port SSL Backups", "" );
def.put( "Tracker Port Force External", FALSE );
def.put( "Tracker Host Add Our Announce URLs", TRUE );
def_put( "Tracker IP", "", new IPVerifier());
def.put( "Tracker Port UDP Enable", FALSE );
def.put( "Tracker Port UDP Version", new Long(2) );
def.put( "Tracker Send Peer IDs", TRUE );
def.put( "Tracker Max Peers Returned", new Long(100) );
def.put( "Tracker Scrape Cache", new Long( TRTrackerServer.DEFAULT_SCRAPE_CACHE_PERIOD ) );
def.put( "Tracker Announce Cache", new Long( TRTrackerServer.DEFAULT_ANNOUNCE_CACHE_PERIOD ) );
def.put( "Tracker Announce Cache Min Peers", new Long( TRTrackerServer.DEFAULT_ANNOUNCE_CACHE_PEER_THRESHOLD ) );
def.put( "Tracker Poll Interval Min", new Long( TRTrackerServer.DEFAULT_MIN_RETRY_DELAY) );
def.put( "Tracker Poll Interval Max", new Long( TRTrackerServer.DEFAULT_MAX_RETRY_DELAY) );
def.put( "Tracker Scrape Retry Percentage", new Long( TRTrackerServer.DEFAULT_SCRAPE_RETRY_PERCENTAGE ) );
def.put( "Tracker Password Enable Web", FALSE );
def.put( "Tracker Password Web HTTPS Only", FALSE);
def.put( "Tracker Password Enable Torrent", FALSE );
def.put( "Tracker Username", "" );
def.put( "Tracker Password", null );
def.put( "Tracker Poll Inc By", new Long( TRTrackerServer.DEFAULT_INC_BY ) );
def.put( "Tracker Poll Inc Per", new Long( TRTrackerServer.DEFAULT_INC_PER ) );
def.put( "Tracker NAT Check Enable", TRUE);
def.put( "Tracker NAT Check Timeout", new Long(TRTrackerServer.DEFAULT_NAT_CHECK_SECS));
def.put( "Tracker Max Seeds Retained", ZERO );
def.put( "Tracker Max Seeds", ZERO );
def.put( "Tracker Max GET Time", new Long(20));
def.put( "Tracker Max POST Time Multiplier", ONE);
def.put( "Tracker Max Threads", new Long( 48 ));
def.put( "Tracker TCP NonBlocking", FALSE);
def.put( "Tracker TCP NonBlocking Restrict Request Types", TRUE);
def.put( "Tracker TCP NonBlocking Conc Max", new Long(2048));
def.put( "Tracker Client Scrape Enable", TRUE);
def.put( "Tracker Client Scrape Stopped Enable", TRUE);
def.put( "Tracker Client Scrape Single Only", FALSE);
def.put( "Tracker Server Full Scrape Enable", TRUE );
def.put( "Tracker Server Not Found Redirect", "" );
def.put( "Tracker Server Support Experimental Extensions", FALSE );
def.put( "Network Selection Prompt", TRUE);
def.put( "Network Selection Default.Public", TRUE);
def.put( "Network Selection Default.I2P", TRUE);
def.put( "Network Selection Default.Tor", TRUE);
def.put( "Tracker Network Selection Default.Public", TRUE);
def.put( "Tracker Network Selection Default.I2P", TRUE);
def.put( "Tracker Network Selection Default.Tor", TRUE);
def.put( "Peer Source Selection Default.Tracker", TRUE);
def.put( "Peer Source Selection Default.DHT", TRUE);
def.put( "Peer Source Selection Default.PeerExchange", TRUE);
def.put( "Peer Source Selection Default.Plugin", TRUE);
def.put( "Peer Source Selection Default.Incoming", TRUE);
def.put( "config.style.useSIUnits", FALSE );
def.put( "config.style.useUnitsRateBits", FALSE );
def.put( "config.style.separateProtDataStats", FALSE );
def.put( "config.style.dataStatsOnly", FALSE );
def.put( "config.style.doNotUseGB", FALSE );
def.put( "Save Torrent Backup", FALSE );
def.put( "Sharing Protocol", "DHT" );
def.put( "Sharing Add Hashes", FALSE );
def.put( "Sharing Rescan Enable", FALSE);
def.put( "Sharing Rescan Period", new Long(60));
def.put( "Sharing Torrent Comment", "" );
def.put( "Sharing Permit DHT", TRUE);
def.put( "Sharing Torrent Private", FALSE);
def.put( "File.Decoder.Prompt", FALSE );
def.put( "File.Decoder.Default", "" );
def.put( "File.Decoder.ShowLax", FALSE);
def.put( "File.Decoder.ShowAll", FALSE);
def.put( "Password enabled", FALSE );
def.put( "Password", null );
def.put( "config.interface.checkassoc", TRUE );
def.put( "confirmationOnExit", FALSE );
def.put( "locale", Locale.getDefault().toString() );
def.put( "locale.set.complete.count", ZERO);
def.put( "Confirm Data Delete", TRUE );
def.put( "Password Confirm", null );
def.put( "Auto Update", TRUE );
def.put( "Alert on close", FALSE );
def.put( "diskmanager.friendly.hashchecking", FALSE );
def.put( "diskmanager.hashchecking.smallestfirst", TRUE );
def.put( "Default Start Torrents Stopped", FALSE);
def.put( "Server Enable UDP", TRUE);
def.put( "diskmanager.perf.cache.enable", TRUE);
def.put( "diskmanager.perf.cache.enable.read", FALSE);
def.put( "diskmanager.perf.cache.enable.write", TRUE);
def.put( "diskmanager.perf.cache.size", new Long(4)); // 4 MB
def.put( "diskmanager.perf.cache.notsmallerthan", new Long(1024)); // 1024 K
def.put( "diskmanager.perf.read.maxthreads", new Long(32));
def.put( "diskmanager.perf.read.maxmb", new Long(5));
def.put( "diskmanager.perf.write.maxthreads", new Long(32));
def.put( "diskmanager.perf.write.maxmb", new Long(5));
def.put( "diskmanager.perf.cache.trace", FALSE);
def.put( "diskmanager.perf.cache.flushpieces", TRUE);
def.put( "diskmanager.perf.read.aggregate.enable", FALSE );
def.put( "diskmanager.perf.read.aggregate.request.limit", ZERO );
def.put( "diskmanager.perf.read.aggregate.byte.limit", ZERO );
def.put( "diskmanager.perf.write.aggregate.enable", FALSE );
def.put( "diskmanager.perf.write.aggregate.request.limit", ZERO );
def.put( "diskmanager.perf.write.aggregate.byte.limit", ZERO );
def.put( "diskmanager.perf.checking.read.priority", FALSE );
def.put( "diskmanager.perf.queue.torrent.bias", TRUE );
def.put( "File.truncate.if.too.large", FALSE);
def.put( "Enable System Tray", TRUE);
def.put( "config.style.table.defaultSortOrder", ZERO);
def.put( "Ignore.peer.ports", "0" );
def.put( "Security.JAR.tools.dir", "" );
def.put( "network.max.simultaneous.connect.attempts", new Long( 8 ));
def.put( "network.tcp.mtu.size", new Long(1500) );
def.put( "network.udp.mtu.size", new Long(1500) );
def.put( "network.tcp.socket.SO_SNDBUF", ZERO );
def.put( "network.tcp.socket.SO_RCVBUF", ZERO );
def.put( "network.tcp.socket.IPTOS", "" );
def.put( "network.tcp.read.select.time", new Long(25));
def.put( "network.tcp.write.select.time", new Long(25));
def.put( "network.control.write.idle.time", new Long(50));
def.put( "network.control.write.aggressive", FALSE );
def.put( "network.control.read.idle.time", new Long(50));
def.put( "network.control.read.aggressive", FALSE );
def.put( "peermanager.schedule.time", new Long(100));
def.put( "confirm_torrent_removal", FALSE );
def.put( "add_torrents_silently", FALSE );
def.put( "enable_small_osx_fonts", TRUE );
def.put( "Play Download Finished Announcement", FALSE);
def.put( "Play Download Finished Announcement Text", "Download Complete");
def.put( "Play File Finished", FALSE );
def.put( "Play File Finished File", "" );
def.put( "Play File Finished Announcement", FALSE);
def.put( "Play File Finished Announcement Text", "File Complete");
def.put( "filechannel.rt.buffer.millis", new Long( 60*1000 ));
def.put( "filechannel.rt.buffer.pieces", new Long( 5 ));
def.put( "BT Request Max Block Size", new Long(65536));
def.put( "network.tcp.enable_safe_selector_mode", FALSE );
def.put( "network.tcp.safe_selector_mode.chunk_size", new Long( 60 ));
def.put( "network.transport.encrypted.require", FALSE );
def.put( "network.transport.encrypted.min_level", "RC4" );
def.put( "network.transport.encrypted.fallback.outgoing", FALSE );
def.put( "network.transport.encrypted.fallback.incoming", FALSE );
def.put( "network.transport.encrypted.use.crypto.port", FALSE );
def.put( "network.bind.local.port", ZERO );
def.put( "peer.nat.traversal.request.conc.max", new Long(3));
// Memory settings
def.put( "memory.slice.limit.multiplier", new Long(1));
// Move on completion settings.
def.put( "Move Completed When Done", FALSE );
def.put( "Completed Files Directory", "" );
def.put( "Move Only When In Default Save Dir", TRUE );
def.put( "Move Torrent When Done", TRUE );
def.put( "File.move.subdir_is_default", FALSE );
// This gets permanently set by GlobalManagerImpl to false once Azureus has initialised.
// This is intended to be used once as part of an upgrade.
def.put( "Set Completion Flag For Completed Downloads On Start", TRUE );
// Move on removal settings.
def.put( "File.move.download.removed.enabled", FALSE );
def.put( "File.move.download.removed.path", "" );
def.put( "File.move.download.removed.only_in_default", TRUE );
def.put( "File.move.download.removed.move_torrent", TRUE );
def.put( "File.move.download.removed.move_partial", FALSE );
def.put("FilesView.separate_rename_and_retarget", FALSE);
//temp section for SpeedManagerAlgorithmProviderV2
def.put(SpeedManagerAlgorithmProviderV2.SETTING_DOWNLOAD_MAX_LIMIT, new Long(SMConst.START_DOWNLOAD_RATE_MAX) );
def.put(SpeedManagerAlgorithmProviderV2.SETTING_UPLOAD_MAX_LIMIT, new Long(SMConst.START_UPLOAD_RATE_MAX) );
def.put(SpeedManagerAlgorithmProviderV2.SETTING_DHT_GOOD_SET_POINT, new Long(50) );
def.put(SpeedManagerAlgorithmProviderV2.SETTING_DHT_GOOD_TOLERANCE, new Long(100) );
def.put(SpeedManagerAlgorithmProviderV2.SETTING_DHT_BAD_SET_POINT, new Long(900) );
def.put(SpeedManagerAlgorithmProviderV2.SETTING_DHT_BAD_TOLERANCE, new Long(500) );
//default confidence limits are NONE
def.put(SpeedManagerImpl.CONFIG_VERSION, new Long(1) );
def.put( SpeedLimitMonitor.DOWNLOAD_CONF_LIMIT_SETTING, SpeedLimitConfidence.NONE.getString() );
def.put( SpeedLimitMonitor.UPLOAD_CONF_LIMIT_SETTING, SpeedLimitConfidence.NONE.getString() );
def.put( SpeedLimitMonitor.UPLOAD_CHOKE_PING_COUNT, new Long(1) );
//default V2 algorithm seeding and download mode useage, stored as an Int
def.put( SpeedLimitMonitor.USED_UPLOAD_CAPACITY_SEEDING_MODE, new Long(90) );
def.put( SpeedLimitMonitor.USED_UPLOAD_CAPACITY_DOWNLOAD_MODE, new Long(60) );
def.put( SpeedManagerAlgorithmProviderV2.SETTING_WAIT_AFTER_ADJUST, TRUE );
def.put( SpeedManagerAlgorithmProviderV2.SETTING_INTERVALS_BETWEEN_ADJUST, new Long(2) );
// Temporary LTEP support parameter.
def.put("LTEP.enabled", TRUE);
|
Methods Summary |
---|
public void | addParameter(java.lang.String sKey, java.lang.String sParameter)
def.put(sKey, sParameter);
| public void | addParameter(java.lang.String sKey, int iParameter)
def.put(sKey, new Long(iParameter));
| public void | addParameter(java.lang.String sKey, byte[] bParameter)
def.put(sKey, bParameter);
| public void | addParameter(java.lang.String sKey, boolean bParameter)
Long lParameter = new Long(bParameter ? 1 : 0);
def.put(sKey, lParameter);
| public void | addParameter(java.lang.String sKey, long lParameter)
def.put(sKey, new Long(lParameter));
| public void | addParameter(java.lang.String sKey, float fParameter)
def.put(sKey, new Float(fParameter));
| private void | checkParameterExists(java.lang.String p)
if (!def.containsKey(p)) {
ConfigurationParameterNotFoundException cpnfe = new ConfigurationParameterNotFoundException(p);
//cpnfe.fillInStackTrace();
//Debug.out(cpnfe);
throw cpnfe;
}
| protected void | def_put(java.lang.String key, java.lang.String key_def, COConfigurationManager.ParameterVerifier verifier)
def.put( key, key_def );
List l = (List)parameter_verifiers.get( key );
if ( l == null ){
l = new ArrayList(1);
parameter_verifiers.put( key, l );
}
l.add( verifier );
| public boolean | doesParameterDefaultExist(java.lang.String p)
return def.containsKey(p);
| public java.util.Set | getAllowedParameters()
return def.keySet();
| public boolean | getBooleanParameter(java.lang.String p)
checkParameterExists(p);
return ((Long)def.get(p)).equals(TRUE);
| public byte[] | getByteParameter(java.lang.String p)
checkParameterExists(p);
return (byte[])def.get(p);
| public java.lang.Object | getDefaultValueAsObject(java.lang.String key)Returns the default value as an object (String, Long, Float, Boolean)
return def.get(key);
| public float | getFloatParameter(java.lang.String p)
checkParameterExists(p);
return ((Float) def.get(p)).floatValue();
| public static org.gudy.azureus2.core3.config.impl.ConfigurationDefaults | getInstance()
try{
class_mon.enter();
if(configdefaults == null){
configdefaults = new ConfigurationDefaults();
}
return configdefaults;
}finally{
class_mon.exit();
}
| public int | getIntParameter(java.lang.String p)
checkParameterExists(p);
return ((Long) def.get(p)).intValue();
| public long | getLongParameter(java.lang.String p)
checkParameterExists(p);
return ((Long) def.get(p)).longValue();
| public java.lang.Object | getParameter(java.lang.String key)
return( def.get( key ));
| public java.lang.String | getStringParameter(java.lang.String p)
checkParameterExists(p);
Object o = def.get(p);
if (o instanceof Number)
return ((Number)o).toString();
return (String)o;
| public java.util.List | getVerifiers(java.lang.String key)
return((List)parameter_verifiers.get( key ));
| public boolean | hasParameter(java.lang.String p)
return def.containsKey(p);
| public void | registerExternalDefaults(java.util.Map addmap)
def.putAll(addmap);
| protected void | runVerifiers()
Iterator it = parameter_verifiers.entrySet().iterator();
while( it.hasNext()){
Map.Entry entry =(Map.Entry)it.next();
String key = (String)entry.getKey();
List verifiers = (List)entry.getValue();
for (int i=0;i<verifiers.size();i++){
COConfigurationManager.ParameterVerifier verifier = (COConfigurationManager.ParameterVerifier)verifiers.get(i);
Object val_def = getDefaultValueAsObject( key );
Object val;
if ( val_def == null ){
continue;
}
if ( val_def instanceof String ){
val = COConfigurationManager.getStringParameter( key );
}else{
Debug.out( "Unsupported verifier type for parameter '" + key + "' - " + val_def );
continue;
}
if ( val == null ){
continue;
}
if ( !verifier.verify( key, val )){
Debug.out( "Parameter '" + key + "', value '" + val +"' failed verification - setting back to default '" + val_def + "'" );
COConfigurationManager.removeParameter( key );
}
}
}
|
|