A method of combining two or more trees together to form an output tree. Different strategies may employ different techniques for deciding which paths (and ObjectIds) to carry from the input trees into the final output tree.
Beispiel #1
0
        ///	<summary>
        /// Register a merge strategy so it can later be obtained by name.
        ///	</summary>
        ///	<param name="imp">the strategy to register.</param>
        ///	<exception cref="ArgumentException">
        /// a strategy by the same name has already been registered.
        /// </exception>
        public static void Register(MergeStrategy imp)
        {
            if (imp == null)
            {
                throw new ArgumentNullException("imp");
            }

            Register(imp.Name, imp);
        }
Beispiel #2
0
        ///	<summary>
        /// Register a merge strategy so it can later be obtained by name.
        /// </summary>
        /// <param name="name">
        /// name the strategy can be looked up under.</param>
        /// <param name="imp">the strategy to register.</param>
        /// <exception cref="ArgumentException">
        /// a strategy by the same name has already been registered.
        /// </exception>
        public static void Register(string name, MergeStrategy imp)
        {
            lock (locker)
            {
                if (Strategies.ContainsKey(name))
                {
                    throw new ArgumentException("Merge strategy \"" + name + "\" already exists as a default strategy");
                }

                Strategies.Add(name, imp);
            }
        }
Beispiel #3
0
        ///	<summary>
        /// Register a merge strategy so it can later be obtained by name.
        /// </summary>
        /// <param name="name">
        /// name the strategy can be looked up under.</param>
        /// <param name="imp">the strategy to register.</param>
        /// <exception cref="ArgumentException">
        /// a strategy by the same name has already been registered.
        /// </exception>
        public static void Register(string name, MergeStrategy imp)
        {
            lock(locker)
            {
                if (Strategies.ContainsKey(name))
                {
                    throw new ArgumentException("Merge strategy \"" + name + "\" already exists as a default strategy");
                }

                Strategies.Add(name, imp);
            }
        }
Beispiel #4
0
 ///	<summary>
 /// Register a merge strategy so it can later be obtained by name.
 ///	</summary>
 ///	<param name="imp">the strategy to register.</param>
 ///	<exception cref="ArgumentException">
 /// a strategy by the same name has already been registered.
 /// </exception>
 public static void Register(MergeStrategy imp)
 {
     Register(imp.Name, imp);
 }
        ///	<summary>
        /// Register a merge strategy so it can later be obtained by name.
        ///	</summary>
        ///	<param name="imp">the strategy to register.</param>
        ///	<exception cref="ArgumentException">
        /// a strategy by the same name has already been registered.
        /// </exception>
        public static void Register(MergeStrategy imp)
        {
            if (imp == null)
                throw new ArgumentNullException ("imp");

            Register(imp.Name, imp);
        }