using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;
namespace DotNetOpenId.Extensions.AttributeExchange {
///
/// An individual attribute's value(s) as supplied by an OpenID Provider
/// in response to a prior request by an OpenID Relying Party as part of
/// a fetch request, or by a relying party as part of a store request.
///
[Serializable]
public class AttributeValues {
///
/// This is internal because web sites should be using the
/// method to instantiate.
///
internal AttributeValues() {
Values = new List(1);
}
internal AttributeValues(string typeUri) {
if (string.IsNullOrEmpty(typeUri)) throw new ArgumentNullException("typeUri");
TypeUri = typeUri;
Values = new List(1);
}
///
/// Instantiates an object.
///
public AttributeValues(string typeUri, params string[] values) {
if (string.IsNullOrEmpty(typeUri)) throw new ArgumentNullException("typeUri");
TypeUri = typeUri;
Values = values ?? new string[0];
}
///
/// The URI uniquely identifying the attribute whose value is being supplied.
///
public string TypeUri { get; internal set; }
///
/// Gets the values supplied by the Provider.
///
public IList Values { get; private set; }
}
}