View Javadoc

1   /*
2    * The SmartWeb Framework
3    * Copyright (C) 2004-2006
4    *
5    * This library is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU Lesser General Public
7    * License as published by the Free Software Foundation; either
8    * version 2.1 of the License, or (at your option) any later version.
9    *
10   * This library is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   * Lesser General Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser General Public
16   * License along with this library; if not, write to the Free Software
17   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18   *
19   * For further informations on the SmartWeb Framework please visit
20   *
21   *                        http://smartweb.sourceforge.net
22   */
23   
24  package net.smartlab.web.file;
25  
26  import java.net.URL;
27  
28  /**
29   * TODO documentation
30   * @author       rlogiacco
31   * @uml.dependency   supplier="net.smartlab.web.file.DirectoryFactory"
32   * @uml.dependency   supplier="net.smartlab.web.file.FileFactory"
33   */
34  public class Domain extends net.smartlab.web.Domain {
35  
36  	/*# net.smartlab.web.registry.EntryFactory factory */
37  
38  	/**
39  	 * Stores the singleton <code>instance</code> for this class.
40  	 */
41  	private static Domain instance = null;
42  
43  	private URL root;
44  
45  	/**
46  	 * Blocks class instantiation to enforce the singleton pattern.
47  	 */
48  	private Domain(URL root) {
49  		this.root = root;
50  	}
51  
52  	/**
53  	 * @param root
54  	 * @return the singleton instance.
55  	 */
56  	public static synchronized Domain getInstance(URL root) {
57  		if (instance == null) {
58  			instance = new Domain(root);
59  		}
60  		return instance;
61  	}
62  }