| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- //------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.ServiceModel.Syndication
- {
- using System.Collections.ObjectModel;
- using System.Runtime.Serialization;
- using System.Xml.Serialization;
- using System.Collections.Generic;
- using System.Xml;
- using System.Runtime.CompilerServices;
- [TypeForwardedFrom("System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
- public class ResourceCollectionInfo : IExtensibleSyndicationObject
- {
- static IEnumerable<string> singleEmptyAccept;
- Collection<string> accepts;
- Uri baseUri;
- Collection<CategoriesDocument> categories;
- ExtensibleSyndicationObject extensions = new ExtensibleSyndicationObject();
- Uri link;
- TextSyndicationContent title;
- public ResourceCollectionInfo()
- {
- }
- public ResourceCollectionInfo(string title, Uri link)
- : this((title == null) ? null : new TextSyndicationContent(title), link)
- {
- }
- public ResourceCollectionInfo(TextSyndicationContent title, Uri link)
- : this(title, link, null, null)
- {
- }
- public ResourceCollectionInfo(TextSyndicationContent title, Uri link, IEnumerable<CategoriesDocument> categories, bool allowsNewEntries)
- : this(title, link, categories, (allowsNewEntries) ? null : CreateSingleEmptyAccept())
- {
- }
- public ResourceCollectionInfo(TextSyndicationContent title, Uri link, IEnumerable<CategoriesDocument> categories, IEnumerable<string> accepts)
- {
- if (title == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("title");
- }
- if (link == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("link");
- }
- this.title = title;
- this.link = link;
- if (categories != null)
- {
- this.categories = new NullNotAllowedCollection<CategoriesDocument>();
- foreach (CategoriesDocument category in categories)
- {
- this.categories.Add(category);
- }
- }
- if (accepts != null)
- {
- this.accepts = new NullNotAllowedCollection<string>();
- foreach (string accept in accepts)
- {
- this.accepts.Add(accept);
- }
- }
- }
- public Collection<string> Accepts
- {
- get
- {
- if (this.accepts == null)
- {
- this.accepts = new NullNotAllowedCollection<string>();
- }
- return this.accepts;
- }
- }
- public Dictionary<XmlQualifiedName, string> AttributeExtensions
- {
- get
- {
- return this.extensions.AttributeExtensions;
- }
- }
- public Uri BaseUri
- {
- get { return this.baseUri; }
- set { this.baseUri = value; }
- }
- public Collection<CategoriesDocument> Categories
- {
- get
- {
- if (this.categories == null)
- {
- this.categories = new NullNotAllowedCollection<CategoriesDocument>();
- }
- return this.categories;
- }
- }
- public SyndicationElementExtensionCollection ElementExtensions
- {
- get
- {
- return this.extensions.ElementExtensions;
- }
- }
- public Uri Link
- {
- get { return this.link; }
- set { this.link = value; }
- }
- public TextSyndicationContent Title
- {
- get { return this.title; }
- set { this.title = value; }
- }
- protected internal virtual InlineCategoriesDocument CreateInlineCategoriesDocument()
- {
- return new InlineCategoriesDocument();
- }
- protected internal virtual ReferencedCategoriesDocument CreateReferencedCategoriesDocument()
- {
- return new ReferencedCategoriesDocument();
- }
- protected internal virtual bool TryParseAttribute(string name, string ns, string value, string version)
- {
- return false;
- }
- protected internal virtual bool TryParseElement(XmlReader reader, string version)
- {
- return false;
- }
- protected internal virtual void WriteAttributeExtensions(XmlWriter writer, string version)
- {
- this.extensions.WriteAttributeExtensions(writer);
- }
- protected internal virtual void WriteElementExtensions(XmlWriter writer, string version)
- {
- this.extensions.WriteElementExtensions(writer);
- }
- internal void LoadElementExtensions(XmlReader readerOverUnparsedExtensions, int maxExtensionSize)
- {
- this.extensions.LoadElementExtensions(readerOverUnparsedExtensions, maxExtensionSize);
- }
- internal void LoadElementExtensions(XmlBuffer buffer)
- {
- this.extensions.LoadElementExtensions(buffer);
- }
- static IEnumerable<string> CreateSingleEmptyAccept()
- {
- if (singleEmptyAccept == null)
- {
- List<string> tmp = new List<string>(1);
- tmp.Add(string.Empty);
- singleEmptyAccept = tmp.AsReadOnly();
- }
- return singleEmptyAccept;
- }
- }
- }
|