#region Copyright and GPL
/*************************************************************************
 * dataMagus - The open source database learning software
 * Copyright (C) 2007 by all authors
 * Authors: Monika Schwitter (monsy@gmx.ch)
 *          Jürg Zgraggen (j.zgraggen@ejaz.net)
 *          HSLU (Hochschule Luzern - Technik+Architektur)
 * 
 *     This program is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 * 
 *     This program is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 * 
 *     You should have received a copy of the GNU General Public License
 *     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *************************************************************************/
#endregion
#region Using
using System;
using System.Collections.Generic;
using System.Text;
#endregion

namespace dataMagus.PlugIns.Generators.SqlServer2000
{
	/// <summary>
	/// This class is used to hold all generator speceific data of a relationship.
	/// </summary>
    public class ColumnGeneratorData
    {
        #region Constants
        /// <summary>
        /// Defines the default seed and increment value.
        /// </summary>
        private const int DefaultSeedAndIncrementValue = 1;
        #endregion

        #region Members
        /// <summary>
        /// Indicator if the column is defined as identity.
        /// </summary>
        private bool _identity;
        
        /// <summary>
        /// Seed value of the identity.
        /// </summary>
        /// <remarks>
        /// Seed and Increment must be specified or neighter. If neither is specified, 
        /// the default is (1,1).
        /// </remarks>
        private int _seed = ColumnGeneratorData.DefaultSeedAndIncrementValue;

        /// <summary>
        /// Increment value of the identity.
        /// </summary>
        /// <remarks>
        /// Seed and Increment must be specified or neighter. If neither is specified, 
        /// the default is (1,1).
        /// </remarks>
        private int _increment = ColumnGeneratorData.DefaultSeedAndIncrementValue;
        #endregion

        #region Constructors / Destructors
        /// <summary>
        /// Default constructor.
        /// </summary>
        public ColumnGeneratorData()
        {
        }
        #endregion

        #region Properties
        /// <summary>
        /// Indicator if the column is defined as identity.
        /// </summary>
        public bool Identity
        {
            get { return this._identity; }
            set { this._identity = value; }
        }

        /// <summary>
        /// Seed value of the identity.
        /// </summary>
        /// <remarks>
        /// Seed and Increment must be specified or neighter. If neither is specified, 
        /// the default is (1,1).
        /// </remarks>
        public int Seed
        {
            get { return this._seed; }
            set { this._seed = value; }
        }

        /// <summary>
        /// Increment value of the identity.
        /// </summary>
        /// <remarks>
        /// Seed and Increment must be specified or neighter. If neither is specified, 
        /// the default is (1,1).
        /// </remarks>
        public int Increment
        {
            get { return this._increment; }
            set { this._increment = value; }
        }
        #endregion
    }
}
