org.carrot2.util.SystemPropertyStack Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of carrot2-core Show documentation
Show all versions of carrot2-core Show documentation
Carrot2 Text Clustering Library
/*
* Carrot2 project.
*
* Copyright (C) 2002-2014, 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 - 2025 Weber Informatics LLC | Privacy Policy