class DSpaceConfigurationService implements ConfigurationService {

    @Override
    public synchronized boolean setProperty(String name, Object value)
    {
        // If the value is a type of String, trim any leading/trailing spaces before saving it.
        if(value!=null && String.class.isInstance(value))
        {
            value = ((String) value).trim();
        }

        boolean changed = false;
        if (name == null) {
            throw new IllegalArgumentException("name cannot be null for setting configuration");
        }
        else
        {
            Object oldValue = configuration.getProperty(name);

            if (value == null && oldValue!=null)
            {
                changed = true;
                configuration.clearProperty(name);
                log.info("Cleared the configuration setting for name ("+name+")");
            }
            else if(value!=null && !value.equals(oldValue))
            {
               changed = true;
               configuration.setProperty(name, value);
            }
        }
        return changed;
    }

    public  DSpaceConfigurationService();
    public  DSpaceConfigurationService(String providedHome);

}