using System;
using System.Collections.Generic;

namespace NHibernate.DomainModel
{
	/// <summary>
	/// POJO for B
	/// </summary>
	/// <remark>
	/// This class is autogenerated
	/// </remark>
	[Serializable]
	public class B : A
	{
		#region Fields

		/// <summary>
		/// Holder for count
		/// </summary>
		private Int32 _count;

		/// <summary>
		/// Holder for map
		/// </summary>
		private IDictionary<string, string> _map;

		#endregion

		#region Constructors

		/// <summary>
		/// Default constructor for class B
		/// </summary>
		public B()
		{
		}

		/// <summary>
		/// Constructor for class B
		/// </summary>
		/// <param name="name">Initial name value</param>
		/// <param name="count">Initial count value</param>
		/// <param name="map">Initial map value</param>
		public B(String name, Int32 count, IDictionary<string, string> map)
			: base(name)
		{
			this._count = count;
			this._map = map;
		}

		/// <summary>
		/// Minimal constructor for class B
		/// </summary>
		/// <param name="map">Initial map value</param>
		public B(IDictionary<string, string> map)
		{
			this._map = map;
		}

		#endregion

		#region Properties

		/// <summary>
		/// Get/set for count
		/// </summary>
		public virtual Int32 Count
		{
			get { return _count; }
			set { _count = value; }
		}

		/// <summary>
		/// Get/set for map
		/// </summary>
		public virtual IDictionary<string, string> Map
		{
			get { return _map; }
			set { _map = value; }
		}

		#endregion
	}
}