示例#1
0
        /// <summary>
        /// Node: This method only clones the containerFacade and its contexts!
        /// It does not clone the AdjacencyProvider or IncidenceProvider,
        /// so those providers use the existing object references!
        /// </summary>
        /// <param name="nodeStateContextMediator"></param>
        /// <param name="facadeFlyweightFactory"></param>
        /// <returns></returns>
        public NodeStateContextMediator <E, V> Copy(
            NodeStateContextContainerFacadeFlyweightFactory <E, V> facadeFlyweightFactory)
        {
            var facadeCopy   = this.NodeStateContextContainerFacade.Copy(facadeFlyweightFactory);
            var mediatorCopy = new NodeStateContextMediator <E, V>
            {
                NodeStateContextContainerFacade = facadeCopy,
                AdjacencyProvider = this.AdjacencyProvider,
                IncidenceProvider = this.IncidenceProvider
            };

            return(mediatorCopy);
        }
示例#2
0
 public NodeStateContextContainerFacade <E, V> Copy(
     NodeStateContextContainerFacadeFlyweightFactory <E, V> flyweightFactory)
 {
     return(flyweightFactory.Copy(this));
 }