📄 emirconfiguration.java
字号:
/*
* This file is part of Caliph & Emir.
*
* Caliph & Emir is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Caliph & Emir is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Caliph & Emir; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Copyright statement:
* --------------------
* (c) 2002-2005 by Mathias Lux (mathias@juggle.at)
* http://www.juggle.at, http://caliph-emir.sourceforge.net
*/
package at.lux.fotoretrieval;
import at.lux.retrieval.fdp.FDPParameters;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
/**
* Date: 21.02.2005
* Time: 23:11:20
*
* @author Mathias Lux, mathias@juggle.at
*/
public class EmirConfiguration {
private static EmirConfiguration configuration = null;
private Properties props = new Properties();
private EmirConfiguration() {
}
/**
* Returns the urrent EmirConfiguration
* @return
*/
public static EmirConfiguration getInstance() {
if (configuration == null) {
configuration = new EmirConfiguration();
}
return configuration;
}
/**
* Returns the current EmirConfiguration by importing alle values given by properties
* @param properties
* @return
*/
public static EmirConfiguration getInstance(Properties properties) {
if (configuration == null) {
configuration = new EmirConfiguration();
}
if (properties == null) {
configuration.setProperties(new Properties());
} else {
configuration.setProperties(properties);
}
return configuration;
}
public void setProperties(Properties properties) {
setProperty("MdsVisPanel.FDP.StepWait", "17", properties);
setProperty("MdsVisPanel.FDP.StopCondition", "0.015", properties);
setProperty("MdsVisPanel.FDP.StartWait", "200", properties);
setProperty("MdsVisPanel.ImageLoader.StepWait", "23", properties);
setProperty("MdsVisPanel.ImageLoader.StartWait", "700", properties);
setProperty("GraphConstructionPanel.EdgeOffset.x", "100", properties);
setProperty("GraphConstructionPanel.EdgeOffset.y", "50", properties);
setProperty("Algorithm.FDP.Parameters.r", "1", properties);
setProperty("Algorithm.FDP.Parameters.w", "1", properties);
setProperty("Algorithm.FDP.Parameters.d", "1", properties);
setProperty("Algorithm.FDP.Parameters.gravity", "0.3", properties);
setProperty("Algorithm.FDP.Parameters.minimumDistance", "0.0000001", properties);
}
private void setProperty(String name, String defaultValue, Properties properties) {
props.setProperty(name, properties.getProperty(name, defaultValue));
}
public Properties saveProperties(Properties propsWhichAreSaved) {
Set keyEnumeration = props.keySet();
for (Iterator iterator = keyEnumeration.iterator(); iterator.hasNext();) {
String key = (String) iterator.next();
propsWhichAreSaved.put(key, props.get(key));
}
return propsWhichAreSaved;
}
public float getFloat(String key) {
Float f = new Float(props.getProperty(key));
return f.floatValue();
}
public int getInt(String key) {
Integer f = new Integer(props.getProperty(key));
return f.intValue();
}
public double getDouble(String key) {
Double d = new Double(props.getProperty(key));
return d.doubleValue();
}
/**
* Creates and returns a parameters object for FDP algorithm.
* @return
*/
public FDPParameters getFDPParameters() {
double r = getDouble("Algorithm.FDP.Parameters.r");
double w = getDouble("Algorithm.FDP.Parameters.w");
double d = getDouble("Algorithm.FDP.Parameters.d");
double gravity = getDouble("Algorithm.FDP.Parameters.gravity");
float minimumDistance = getFloat("Algorithm.FDP.Parameters.minimumDistance");
FDPParameters params = new FDPParameters(d, gravity, minimumDistance, r, w);
return params;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -