Esempio n. 1
0
        /// <summary>
        /// Creates a list of VersionedAddresses by taking the (possibly abstract) version of the versioned
        /// address of a container, and producing all the specific versions contained in it attached to the
        /// ItemId of the container
        /// </summary>
        /// <param name="container">The container</param>
        /// <returns>List of specific VersionedAddresses</returns>
        public static List <VersionedAddress> CreateExpanded(LyniconSystem sys, object container)
        {
            var     vsn = new ItemVersion(sys, container);
            Address a   = new Address(container);
            var     res = new List <VersionedAddress>();

            foreach (var v in vsn.MatchingVersions(sys.Versions, a.Type))
            {
                res.Add(new VersionedAddress(a, v));
            }

            return(res);
        }
Esempio n. 2
0
        /// <summary>
        /// Given a container, extract its ItemVersionedId (which may be abstract) and generate
        /// a list of all the specifically versioned ItemVersionedIds that are included in it
        /// </summary>
        /// <param name="container">A container</param>
        /// <returns>A list of specific ItemVersionedIds</returns>
        public static List <ItemVersionedId> CreateExpanded(LyniconSystem sys, object container)
        {
            var    vsn = new ItemVersion(sys, container);
            ItemId iid = new ItemId(sys.Collator, container);
            var    res = new List <ItemVersionedId>();

            foreach (var v in vsn.MatchingVersions(sys.Versions, iid.Type))
            {
                res.Add(new ItemVersionedId(iid, v));
            }

            return(res);
        }
Esempio n. 3
0
        /// <summary>
        /// Given a container, extract its ItemVersionedId (which may be abstract) and generate
        /// a list of all the specifically versioned ItemVersionedIds that are included in it
        /// </summary>
        /// <param name="container">A container</param>
        /// <returns>A list of specific ItemVersionedIds</returns>
        public static List <ItemVersionedId> CreateExpanded(object container)
        {
            var    vsn = new ItemVersion(container);
            ItemId iid = new ItemId(container);
            var    res = new List <ItemVersionedId>();

            foreach (var v in vsn.MatchingVersions(iid.Type))
            {
                res.Add(new ItemVersionedId(iid, v));
            }

            return(res);
        }