//
// Commit.cs
// s.im.pl serialization
//
// Generated by MetaMetadataDotNetTranslator.
// Copyright 2017 Interface Ecology Lab. 
//


using Ecologylab.BigSemantics.MetaMetadataNS;
using Ecologylab.BigSemantics.MetadataNS.Builtins;
using Ecologylab.BigSemantics.MetadataNS.Scalar;
using Ecologylab.Collections;
using Simpl.Fundamental.Generic;
using Simpl.Serialization;
using Simpl.Serialization.Attributes;
using System;
using System.Collections;
using System.Collections.Generic;

namespace Ecologylab.BigSemantics.Generated.Library.CreativeWorkNS.CollaborativeNS 
{
	[SimplInherit]
	public class Commit : RichDocument
	{
		[SimplScalar]
		private MetadataString time;

		[SimplScalar]
		private MetadataString message;

		[SimplScalar]
		private MetadataString shortHashKey;

		[SimplScalar]
		private MetadataString contributor;

		public Commit()
		{ }

		public Commit(MetaMetadataCompositeField mmd) : base(mmd) { }


		public MetadataString Time
		{
			get{return time;}
			set
			{
				if (this.time != value)
				{
					this.time = value;
					// TODO we need to implement our property change notification mechanism.
				}
			}
		}

		public MetadataString Message
		{
			get{return message;}
			set
			{
				if (this.message != value)
				{
					this.message = value;
					// TODO we need to implement our property change notification mechanism.
				}
			}
		}

		public MetadataString ShortHashKey
		{
			get{return shortHashKey;}
			set
			{
				if (this.shortHashKey != value)
				{
					this.shortHashKey = value;
					// TODO we need to implement our property change notification mechanism.
				}
			}
		}

		public MetadataString Contributor
		{
			get{return contributor;}
			set
			{
				if (this.contributor != value)
				{
					this.contributor = value;
					// TODO we need to implement our property change notification mechanism.
				}
			}
		}
	}
}
