All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.carrot2.util.SystemPropertyStack Maven / Gradle / Ivy

There is a newer version: 4.6.0
Show newest version

/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2018, Dawid Weiss, Stanisław Osiński.
 * All rights reserved.
 *
 * Refer to the full license file "carrot2.LICENSE"
 * in the root folder of the repository checkout or at:
 * http://www.carrot2.org/carrot2.LICENSE
 */

package org.carrot2.util;

import java.util.Stack;

/**
 * Small utility to push a system property and then restore the previous value.
 */
public final class SystemPropertyStack
{
    private final String propertyName;
    private final Stack values = new Stack();

    public SystemPropertyStack(String propertyName)
    {
        this.propertyName = propertyName;
    }

    public void pop()
    {
        String value = values.pop();
        if (value != null)
            System.setProperty(propertyName, value);
        else
            System.clearProperty(propertyName);        
    }

    public void push(String newValue)
    {
        values.push(System.getProperty(propertyName));
        System.setProperty(propertyName, newValue);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy