File: System\IdentityModel\Tokens\SamlNameIdentifierClaimResource.cs
Project: ndp\cdf\src\WCF\IdentityModel\System.IdentityModel.csproj (System.IdentityModel)
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
 
namespace System.IdentityModel.Tokens
{
    [DataContract]
    public class SamlNameIdentifierClaimResource
    {
        [DataMember]
        string nameQualifier;
 
        [DataMember]
        string format;
 
        [DataMember]
        string name;
 
        [OnDeserialized]
        void OnDeserialized(StreamingContext ctx)
        {
            if (string.IsNullOrEmpty(this.name))
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("name");
        }
 
        public SamlNameIdentifierClaimResource(string name, string nameQualifier, string format)
        {
            if (string.IsNullOrEmpty(name))
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("name");
 
            this.name = name;
            this.nameQualifier = nameQualifier;
            this.format = format;
        }
 
        public string NameQualifier
        { 
            get 
            { 
                return this.nameQualifier; 
            } 
        }
 
        public string Format
        { 
            get 
            { 
                return this.format; 
            } 
        }
 
        public string Name
        { 
            get 
            { 
                return this.name;
            } 
        }
 
        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
 
            if (ReferenceEquals(this, obj))
                return true;
 
            SamlNameIdentifierClaimResource rhs = obj as SamlNameIdentifierClaimResource;
            if (rhs == null)
                return false;
 
            return ((this.nameQualifier == rhs.nameQualifier) && (this.format == rhs.format) && (this.name == rhs.name));
        }
 
        public override int GetHashCode()
        {
            return this.name.GetHashCode();
        }
 
    }
}