//----------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. // //----------------------------------------------------------------------- namespace Microsoft.Isam.Esent.Interop { using System; using System.Collections.Generic; using System.Collections.ObjectModel; /// /// Information about one Esent column. This is not an interop /// class, but is used by the meta-data helper methods. /// public sealed class ColumnInfo { /// /// The default value of the column. /// private readonly ReadOnlyCollection defaultValue; /// /// Initializes a new instance of the ColumnInfo class. /// /// Name of the column. /// ID of the column. /// Type of the column. /// Codepage of the column. /// Maximum length of the column. /// Column default value. /// Column option. internal ColumnInfo( string name, JET_COLUMNID columnid, JET_coltyp coltyp, JET_CP cp, int maxLength, byte[] defaultValue, ColumndefGrbit grbit) { this.Name = name; this.Columnid = columnid; this.Coltyp = coltyp; this.Cp = cp; this.MaxLength = maxLength; this.defaultValue = (null == defaultValue) ? null : new ReadOnlyCollection(defaultValue); this.Grbit = grbit; } /// /// Gets the name of the column. /// public string Name { get; private set; } /// /// Gets the ID of the column. /// public JET_COLUMNID Columnid { get; private set; } /// /// Gets the type of the column. /// public JET_coltyp Coltyp { get; private set; } /// /// Gets the code page of the column. /// public JET_CP Cp { get; private set; } /// /// Gets the maximum length of the column. /// public int MaxLength { get; private set; } /// /// Gets the default value of the column. /// public IList DefaultValue { get { return this.defaultValue; } } /// /// Gets the column options. /// public ColumndefGrbit Grbit { get; private set; } /// /// Returns a that represents the current . /// /// /// A that represents the current . /// public override string ToString() { return this.Name; } } }