using System; using System.Collections.Generic; using System.Xml.XPath; using Umbraco.Core.Models; using Umbraco.Core.Xml; namespace Umbraco.Web { /// /// Query methods used for accessing strongly typed content in templates /// public interface ITypedPublishedContentQuery { /// /// Gets a content item from the cache /// /// /// IPublishedContent TypedContent(int id); /// /// Gets a content item from the cache /// /// /// IPublishedContent TypedContent(Guid id); IPublishedContent TypedContentSingleAtXPath(string xpath, params XPathVariable[] vars); IEnumerable TypedContent(IEnumerable ids); IEnumerable TypedContent(IEnumerable ids); IEnumerable TypedContentAtXPath(string xpath, params XPathVariable[] vars); IEnumerable TypedContentAtXPath(XPathExpression xpath, params XPathVariable[] vars); IEnumerable TypedContentAtRoot(); // TODO: we CANNOT implement TypedMedia by Guid in v7 without break-changing IPublishedCache, since we don't support XPath navigation of the media tree. // surely there is a way we can support this without XPath, it's needed so we can query properly by UDI IPublishedContent TypedMedia(int id); //IPublishedContent TypedMedia(Guid id); IEnumerable TypedMedia(IEnumerable ids); //IEnumerable TypedMedia(IEnumerable ids); IEnumerable TypedMediaAtRoot(); /// /// Searches content /// /// /// /// /// IEnumerable TypedSearch(string term, bool useWildCards = true, string searchProvider = null); /// /// Searches content /// /// /// /// /// /// /// /// IEnumerable TypedSearch(int skip, int take, out int totalRecords, string term, bool useWildCards = true, string searchProvider = null); /// /// Searhes content /// /// /// /// IEnumerable TypedSearch(Examine.SearchCriteria.ISearchCriteria criteria, Examine.Providers.BaseSearchProvider searchProvider = null); /// /// Searhes content /// /// /// /// /// /// /// IEnumerable TypedSearch(int skip, int take, out int totalrecords, Examine.SearchCriteria.ISearchCriteria criteria, Examine.Providers.BaseSearchProvider searchProvider = null); } }