|
using System;
namespace Puma.Xml
{
public abstract class RestrictionBase
{
internal RestrictionBase() {}
internal bool IsContainAny { get { return _facets.Count != 0; } }
internal void AddRestriction(object Value, System.Xml.Schema.XmlSchemaFacet Facet)
{
_values.Add(Value);
_facets.Add(Facet);
}
public System.Collections.ArrayList Facets {get {return _facets;} }
public System.Collections.ArrayList Values {get {return _values;} }
private System.Collections.ArrayList _facets = new System.Collections.ArrayList();
private System.Collections.ArrayList _values = new System.Collections.ArrayList();
}
public abstract class MinMaxRestrictionBase : RestrictionBase
{
protected object Min { get {return _min;} }
protected object Max { get {return _max;} }
protected internal void SetMin(object Value, System.Xml.Schema.XmlSchemaFacet Facet)
{
_min = Value;
AddRestriction(Value, Facet);
}
protected internal void SetMax(object Value, System.Xml.Schema.XmlSchemaFacet Facet)
{
_max = Value;
AddRestriction(Value, Facet);
}
private object _min;
private object _max;
}
public class EnumerationRestriction : RestrictionBase
{
internal EnumerationRestriction(){}
}
public class MinMaxLengthRestriction : MinMaxRestrictionBase
{
internal MinMaxLengthRestriction(){}
public int MinLength {get {return Min == null ? - 1 : (int)Min;} }
public int MaxLength {get {return Max == null ? - 1 : (int)Max;} }
}
public class MinMaxValueRestriction : MinMaxRestrictionBase
{
internal MinMaxValueRestriction(){}
public object MinValue {get {return Min;} }
public object MaxValue {get {return Max;} }
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.