001    /*
002     * Catalog.java
003     *
004     * Created on July 25, 2006, 3:13 PM
005     *
006     * This file is part of the STAR Scheduler.
007     * Copyright (c) 2002-2006 STAR Collaboration - Brookhaven National Laboratory
008     *
009     * STAR Scheduler is free software; you can redistribute it and/or modify
010     * it under the terms of the GNU General Public License as published by
011     * the Free Software Foundation; either version 2 of the License, or
012     * (at your option) any later version.
013     *
014     * STAR Scheduler is distributed in the hope that it will be useful,
015     * but WITHOUT ANY WARRANTY; without even the implied warranty of
016     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017     * GNU General Public License for more details.
018     *
019     * You should have received a copy of the GNU General Public License
020     * along with STAR Scheduler; if not, write to the Free Software
021     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
022     */
023    
024    package gov.bnl.star.offline.scheduler.dataset.catalog;
025    
026    import gov.bnl.star.offline.scheduler.dataset.Dataset;
027    import gov.bnl.star.offline.scheduler.request.Request;
028    
029    /**
030     *This class is the template for writing different interfaces between the scheduler and different catalogs. Working examples of catalog interfaces exist within this directory.
031     *
032     * @author lbhajdu
033     */
034    public interface Catalog {
035        
036    /*
037     * This is the only mandatory member of the class. It accepts a dataset object and fills it. The functions responsibilities are:
038     * 
039     * 1) Generate a dataset file. The name is recovered from the function call dataset.getDatasetName()
040     * 
041     * 2) Fill the dataset file with ā€˜\nā€™ delimited entries from the particular catalog.
042     * 
043     * Note: The exact format can match a star standard format or can be different. However if it is different the dataset modifier class will need to be reconfigured.
044     * 
045     * 3) Add any entries (files) that are inside the request (manually entered by the user) 
046     *
047     */
048     public void fillDataset(Dataset dataset, Request request);
049            
050    }
051    
052