// Path: biojava-structure/src/main/java/org/biojava/nbio/structure/io/LocalPDBDirectory.java
// public static enum FetchBehavior {
// 	/** Never fetch from the server; Throw errors for missing files */
// 	LOCAL_ONLY,
// 	/** Fetch missing files from the server. Don't check for outdated files */
// 	FETCH_FILES,
// 	/**
// 	 * Fetch missing files from the server, also fetch if file present but older than the
// 	 * server file.
// 	 * This requires always querying the server for the last modified time of the file, thus
// 	 * it adds an overhead to getting files from cache.
// 	 */
// 	FETCH_IF_OUTDATED,
// 	/**
// 	 * Fetch missing files from the server.
// 	 * Also force the download of files older than {@value #LAST_REMEDIATION_DATE_STRING}.
// 	 */
// 	FETCH_REMEDIATED,
// 	/** For every file, force downloading from the server */
// 	FORCE_DOWNLOAD;
// 
// 	public static final FetchBehavior DEFAULT = FETCH_REMEDIATED;
// }
// 
// Path: biojava-structure/src/main/java/org/biojava/nbio/structure/io/LocalPDBDirectory.java
// public static enum ObsoleteBehavior {
// 	/** Fetch the most recent version of the PDB entry. */
// 	FETCH_CURRENT,
// 	/** Fetch the obsolete entry from the PDB archives. */
// 	FETCH_OBSOLETE,
// 	/** Throw a StructureException for obsolete entries.*/
// 	THROW_EXCEPTION;
// 
// 	public static final ObsoleteBehavior DEFAULT=THROW_EXCEPTION;
// }


import java.io.PrintWriter;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import org.biojava.nbio.structure.align.ce.StartupParameters;
import org.biojava.nbio.structure.io.LocalPDBDirectory.FetchBehavior;
import org.biojava.nbio.structure.io.LocalPDBDirectory.ObsoleteBehavior;
import org.biojava.nbio.core.util.PrettyXMLWriter;
import org.biojava.nbio.core.util.XMLWriter;
import org.biojava.nbio.structure.io.StructureFiletype;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
/*
 *                    PDB web development code
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  If you do not have a copy,
 * see:
 *
 *      http://www.gnu.org/copyleft/lesser.html
 *
 * Copyright for this code is held jointly by the individual
 * authors.  These should be listed in @author doc comments.
 *
 *
 * Created on Jul 8, 2009
 * Created by ap3
 *
 */

package org.biojava.nbio.structure.align.util;




/** A container to persist config to the file system
 *
 * @author Andreas Prlic
 *
 */
public class UserConfiguration
{

	private static final Logger logger = LoggerFactory.getLogger(UserConfiguration.class);

	public static final String PDB_FORMAT   = "PDB";
	public static final String MMCIF_FORMAT = "mmCif";
	public static final String MMTF_FORMAT  = "mmtf";
	public static final String BCIF_FORMAT  = "bcif";

	public static final String TMP_DIR = "java.io.tmpdir";

	public static final String PDB_DIR   = "PDB_DIR";
	public static final String PDB_CACHE_DIR = "PDB_CACHE_DIR";

	public static final String lineSplit = System.getProperty("file.separator");

	private String pdbFilePath;
	private String cacheFilePath;

	private FetchBehavior fetchBehavior;
// Path: biojava-structure/src/main/java/org/biojava/nbio/structure/io/LocalPDBDirectory.java
// public static enum FetchBehavior {
// 	/** Never fetch from the server; Throw errors for missing files */
// 	LOCAL_ONLY,
// 	/** Fetch missing files from the server. Don't check for outdated files */
// 	FETCH_FILES,
// 	/**
// 	 * Fetch missing files from the server, also fetch if file present but older than the
// 	 * server file.
// 	 * This requires always querying the server for the last modified time of the file, thus
// 	 * it adds an overhead to getting files from cache.
// 	 */
// 	FETCH_IF_OUTDATED,
// 	/**
// 	 * Fetch missing files from the server.
// 	 * Also force the download of files older than {@value #LAST_REMEDIATION_DATE_STRING}.
// 	 */
// 	FETCH_REMEDIATED,
// 	/** For every file, force downloading from the server */
// 	FORCE_DOWNLOAD;
// 
// 	public static final FetchBehavior DEFAULT = FETCH_REMEDIATED;
// }
// 
// Path: biojava-structure/src/main/java/org/biojava/nbio/structure/io/LocalPDBDirectory.java
// public static enum ObsoleteBehavior {
// 	/** Fetch the most recent version of the PDB entry. */
// 	FETCH_CURRENT,
// 	/** Fetch the obsolete entry from the PDB archives. */
// 	FETCH_OBSOLETE,
// 	/** Throw a StructureException for obsolete entries.*/
// 	THROW_EXCEPTION;
// 
// 	public static final ObsoleteBehavior DEFAULT=THROW_EXCEPTION;
// }


// Path: biojava-structure/src/main/java/org/biojava/nbio/structure/align/util/UserConfiguration.java
import java.io.PrintWriter;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import org.biojava.nbio.structure.align.ce.StartupParameters;
import org.biojava.nbio.structure.io.LocalPDBDirectory.FetchBehavior;
import org.biojava.nbio.structure.io.LocalPDBDirectory.ObsoleteBehavior;
import org.biojava.nbio.core.util.PrettyXMLWriter;
import org.biojava.nbio.core.util.XMLWriter;
import org.biojava.nbio.structure.io.StructureFiletype;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;

/*
 *                    PDB web development code
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  If you do not have a copy,
 * see:
 *
 *      http://www.gnu.org/copyleft/lesser.html
 *
 * Copyright for this code is held jointly by the individual
 * authors.  These should be listed in @author doc comments.
 *
 *
 * Created on Jul 8, 2009
 * Created by ap3
 *
 */

package org.biojava.nbio.structure.align.util;




/** A container to persist config to the file system
 *
 * @author Andreas Prlic
 *
 */
public class UserConfiguration
{

	private static final Logger logger = LoggerFactory.getLogger(UserConfiguration.class);

	public static final String PDB_FORMAT   = "PDB";
	public static final String MMCIF_FORMAT = "mmCif";
	public static final String MMTF_FORMAT  = "mmtf";
	public static final String BCIF_FORMAT  = "bcif";

	public static final String TMP_DIR = "java.io.tmpdir";

	public static final String PDB_DIR   = "PDB_DIR";
	public static final String PDB_CACHE_DIR = "PDB_CACHE_DIR";

	public static final String lineSplit = System.getProperty("file.separator");

	private String pdbFilePath;
	private String cacheFilePath;

	private FetchBehavior fetchBehavior;
	private ObsoleteBehavior obsoleteBehavior;