/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Everest.Library.Reflection;
using Everest.Library.ExtensionMethod;
namespace Everest.CmsServices.DataRule.Pattern{
public class PropertyPattern : IPattern
{
public PropertyPattern(object o, string pattern)
{
if (o == null)
{
throw new ArgumentNullException("the object is null.");
}
if (!pattern.EndsWith("]"))
{
throw new ArgumentException("invalide pattern.");
}
Name = pattern.Substring(1, pattern.Length - 2);
Value = o.GetType().GetPropertyValue(Name, o);
}
#region IPattern Members
public string Prefix
{
get { return "["; }
}
public string Name
{
get;
set;
}
public object Value
{
get;
set;
}
#endregion
}
}
|