namespace ZionSchematics.Models.Boundaries
{
    public class BoundaryFactory
    {
        public const string Bottom = "BOTTOM";
        public const string Left = "LEFT";
        public const string Right = "RIGHT";
        public const string Top = "TOP";
        public const string Whole = "WHOLE";
        public const string XOfCenter = "XOFCENTER";
        public const string YOfCenter = "YOFCENTER";

        public static IBoundary Construct(string type)
        {
            switch (type.ToUpper())
            {
                case Bottom: return new Bottom();
                case Left: return new Left();
                case Right: return new Right();
                case Top: return new Top();
                case Whole: return new Whole();
                case XOfCenter: return new XOfCenter();
                case YOfCenter: return new YOfCenter();
                default: return null;
            }
        }
    }
}
