001/*
002 * Copyright 2006 - 2013
003 *     Stefan Balev     <stefan.balev@graphstream-project.org>
004 *     Julien Baudry    <julien.baudry@graphstream-project.org>
005 *     Antoine Dutot    <antoine.dutot@graphstream-project.org>
006 *     Yoann Pigné      <yoann.pigne@graphstream-project.org>
007 *     Guilhelm Savin   <guilhelm.savin@graphstream-project.org>
008 * 
009 * This file is part of GraphStream <http://graphstream-project.org>.
010 * 
011 * GraphStream is a library whose purpose is to handle static or dynamic
012 * graph, create them from scratch, file or any source and display them.
013 * 
014 * This program is free software distributed under the terms of two licenses, the
015 * CeCILL-C license that fits European law, and the GNU Lesser General Public
016 * License. You can  use, modify and/ or redistribute the software under the terms
017 * of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
018 * URL <http://www.cecill.info> or under the terms of the GNU LGPL as published by
019 * the Free Software Foundation, either version 3 of the License, or (at your
020 * option) any later version.
021 * 
022 * This program is distributed in the hope that it will be useful, but WITHOUT ANY
023 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
024 * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
025 * 
026 * You should have received a copy of the GNU Lesser General Public License
027 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
028 * 
029 * The fact that you are presently reading this means that you have had
030 * knowledge of the CeCILL-C and LGPL licenses and that you accept their terms.
031 */
032package org.graphstream.graph.implementations;
033
034/**
035 * Default implementation of graph. This is just a synonym of {@link SingleGraph}. It is here for clarity only.
036 *
037 */
038public class DefaultGraph extends SingleGraph {
039
040        /**
041         * Creates an empty graph.
042         * 
043         * @param id
044         *            Unique identifier of the graph.
045         * @param strictChecking
046         *            If true any non-fatal error throws an exception.
047         * @param autoCreate
048         *            If true (and strict checking is false), nodes are
049         *            automatically created when referenced when creating a edge,
050         *            even if not yet inserted in the graph.
051         * @param initialNodeCapacity
052         *            Initial capacity of the node storage data structures. Use this
053         *            if you know the approximate maximum number of nodes of the
054         *            graph. The graph can grow beyond this limit, but storage
055         *            reallocation is expensive operation.
056         * @param initialEdgeCapacity
057         *            Initial capacity of the edge storage data structures. Use this
058         *            if you know the approximate maximum number of edges of the
059         *            graph. The graph can grow beyond this limit, but storage
060         *            reallocation is expensive operation.
061         */
062        public DefaultGraph(String id, boolean strictChecking, boolean autoCreate,
063                        int initialNodeCapacity, int initialEdgeCapacity) {
064                super(id, strictChecking, autoCreate, initialNodeCapacity,
065                                initialEdgeCapacity);
066        }
067
068        /**
069         * Creates an empty graph with default edge and node capacity.
070         * 
071         * @param id
072         *            Unique identifier of the graph.
073         * @param strictChecking
074         *            If true any non-fatal error throws an exception.
075         * @param autoCreate
076         *            If true (and strict checking is false), nodes are
077         *            automatically created when referenced when creating a edge,
078         *            even if not yet inserted in the graph.
079         */
080        public DefaultGraph(String id, boolean strictChecking, boolean autoCreate) {
081                super(id, strictChecking, autoCreate);
082        }
083
084        /**
085         * Creates an empty graph with strict checking and without auto-creation.
086         * 
087         * @param id
088         *            Unique identifier of the graph.
089         */
090        public DefaultGraph(String id) {
091                super(id);
092        }
093
094}