using System;
using System.Collections.Generic;
using System.Text;

namespace Chart
{
    public abstract class PointFactory
    {

        #region Fields

        static private PointFactory factory;

        #endregion

        #region Members
        
        public abstract PointFactory this[string name]
        {
            get;
        }

        public abstract IPoint CreatePoint(object[] obj);


        public abstract object[] Types
        {
            get;
        }

        public abstract string[] Names
        {
            get;
        }

        public abstract ISeriesPainter GetPainter(ChartPerformer performer);
       
        public static PointFactory Factory
        {
            get
            {
                return factory;
            }
            set
            {
                factory = value;
            }
        }


        #endregion
    }
}
