using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DekoratorPredykatu
{
    public class KomponentPredykatu : IKomponent
    {
        public KomponentPredykatu(IKomponent udekorowanyKomponent, IPredykat predykat)
        {
            this.udekorowanyKomponent = udekorowanyKomponent;
            this.predykat = predykat;
        }
        
        public void JakaśMetoda()
        {
            if (predykat.Test())
            {
                udekorowanyKomponent.JakaśMetoda();
            }
        }

        private readonly IKomponent udekorowanyKomponent;
        private readonly IPredykat predykat;
    }
}
