View Javadoc

1   /*
2    * This file is a part of CAST project.
3    * (c) Copyright 2007, AGH University of Science & Technology
4    * https://caribou.iisg.agh.edu.pl/trac/cast
5    *
6    * Licensed under the Eclipse Public License, Version 1.0 (the "License").
7    * You may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    * http://www.eclipse.org/legal/epl-v10.html
10   */
11  /*
12   * File: IPersistenceProviderFactory.java
13   * Created: 2009-09-15
14   * Author: tmilos
15   * $Id$
16   */
17  
18  package pl.edu.agh.cast.data.persistence;
19  
20  /**
21   * Interface of persistence provider factory.
22   *
23   * @see IPersistenceProvider
24   *
25   * @author AGH CAST Team
26   */
27  public interface IPersistenceProviderFactory {
28  
29  	/**
30  	 * Returns the ID of the provider.
31  	 *
32  	 * @return provider ID
33  	 */
34  	public String getProviderId();
35  
36  	/**
37  	 * Creates a new instance of persistence provider.
38  	 *
39  	 * @param filePath
40  	 *            the path to configuration/storage file for the provider
41  	 * @return a new instance of persistence provider
42  	 * @throws PersistenceException
43  	 *             if provider could not be created
44  	 */
45  	public IPersistenceProvider createPersistenceProvider(String filePath) throws PersistenceException;
46  
47  	/**
48  	 * Returns the path to the persistence provider configuration or storage file. The path is relative to the project
49  	 * path.
50  	 *
51  	 * @return the path to the persistence file
52  	 */
53  	public String getPersistenceFilePath();
54  
55  }