package com.limegroup.gnutella.settings;
import com.limegroup.gnutella.Assert;
/**
* Handler for all 'LimeWire.props' settings. Classes such
* as SearchSettings, ConnectionSettings, etc... should retrieve
* the factory via LimeProps.instance().getFactory() and add
* settings to that factory.
*/
public class LimeProps extends AbstractSettings {
private static final LimeProps INSTANCE = new LimeProps();
// The FACTORY is used for subclasses of LimeProps, so they know
// which factory to add classes to.
protected static final SettingsFactory FACTORY = INSTANCE.getFactory();
// This is protected so that subclasses can extend from it, but
// subclasses should NEVER instantiate a copy themselves.
protected LimeProps() {
super("limewire.props", "LimeWire properties file");
Assert.that( getClass() == LimeProps.class,
"should not have a subclass instantiate");
}
/**
* Returns the only instance of this class.
*/
public static LimeProps instance() { return INSTANCE; }
}