QueryParameter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / QueryParameter.cs / 1 / QueryParameter.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.InfoCards
{ 
    using System;
    using System.Collections.Generic; 
    using System.IO; 
    using System.Text;
    using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; 

    //
    // Summary:
    //  Maps a set of values to an index name for use in queries. 
    //
    internal class QueryParameter 
    { 
        string              m_indexName;
        List   m_objects; 

        //
        // Summary:
        //  Constructs a new instance of the QueryParameter using 
        //    the specified name.
        // 
        // Parameters: 
        //  name:       the name of the index to use.
        // 
        public QueryParameter( string name )
        {
            if( String.IsNullOrEmpty( name ) )
                throw IDT.ThrowHelperArgumentNull( "name" ); 

            m_indexName = name; 
            m_objects = new List( ); 
        }
 
        //
        // Summary:
        //  Constructs a new instance of the QueryParameter using
        //    the specified name and values. 
        //
        // Remarks: 
        //  each item in this array get its own index entry. 
        //
        // Parameters: 
        //  name:       the name of the index to use.
        //  values:     the array of values to create match entries
        //
        public QueryParameter( string name, params object[] values ) 
            : this( name )
        { 
            for( int i = 0; i < values.Length; i++ ) 
                AddMatch( values[i] );
        } 


        //
        // Summary: 
        //  Gets the name of the index this Match will be performed against.
        // 
        public string IndexName 
        {
            get { return m_indexName; } 
            internal set{ m_indexName = value; }
        }

        // 
        // Summary:
        //  Gets the index object that wrapps the entry. 
        // 
        // Remarks:
        //  For internal store use only 
        //
        internal IndexObject this[ int index ]
        {
            get{ return m_objects[ index ]; } 
        }
 
        // 
        // Summary:
        //  Gets the count of indexObjects contained 
        //
        public int Count
        {
            get { return m_objects.Count; } 
        }
 
        // 
        // Summary:
        //  Clears the list of match values. 
        //
        public void Clear()
        {
            m_objects.Clear(); 
        }
 
        // 
        // Summary:
        //  Adds the a precompiled index value to the list of matches. 
        //
        // Paramters:
        //  compiledForm:     Compiled index data.
        // 
        public void AddCompiled( byte[] compiledForm )
        { 
            m_objects.Add( new IndexObject( compiledForm ) ); 
        }
 
        //
        // Summary:
        //  Adds the values specified as multiValue indexes
        // 
        // Paramters:
        //  values:     the array of values to add to the match entry 
        // 
        public void AddMatch( params object[] values )
        { 
            if( null == values || 0 == values.Length )
                throw IDT.ThrowHelperArgumentNull( "values" );

            m_objects.Add( new IndexObject( values ) ); 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK