001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 */ 021package org.biojava.nbio.structure.io; 022 023import org.biojava.nbio.structure.Structure; 024import org.biojava.nbio.structure.StructureException; 025 026import java.io.IOException; 027 028/** 029 * A class that can provide a protein structure object from somewhere. 030 * 031 * @author Andreas Prlic 032 * @since 3.2 033 */ 034public interface StructureProvider { 035 036 /** 037 * Get the structure for a PDB ID 038 * 039 * @param pdbId 040 * @return 041 */ 042 Structure getStructureById(String pdbId) throws StructureException,IOException; 043 044 /** 045 * Set the parameters that should be used for file parsing 046 * 047 * @param params FileParsingParameters 048 */ 049 void setFileParsingParameters(FileParsingParameters params); 050 051 052 /** 053 * Get the parameters that should be used for file parsing 054 * 055 * @return the FileParsingParameters that are configuring the behavior of the parser 056 */ 057 FileParsingParameters getFileParsingParameters(); 058 059 060}