Exemplo n.º 1
0
        private static IStoreTimelineValues BuildStorage(ITimeline timeline, Type type)
        {
            if (typeof(IDictionaryTimelineStorage<DatasetId, DatasetProxy>).IsAssignableFrom(type))
            {
                return new HistoryObjectDictionaryHistory<DatasetId, DatasetProxy>(id => timeline.IdToObject<DatasetProxy>(id));
            }

            if (typeof(IBidirectionalGraphHistory<DatasetId, Edge<DatasetId>>).IsAssignableFrom(type))
            {
                return new BidirectionalGraphHistory<DatasetId, Edge<DatasetId>>();
            }

            if (typeof(IVariableTimeline<string>).IsAssignableFrom(type))
            {
                return new ValueHistory<string>();
            }

            if (typeof(IVariableTimeline<NetworkIdentifier>).IsAssignableFrom(type))
            {
                return new ValueHistory<NetworkIdentifier>();
            }

            throw new UnknownHistoryMemberTypeException();
        }
Exemplo n.º 2
0
        private static IStoreTimelineValues BuildStorage(ITimeline timeline, Type type)
        {
            if (typeof(IDictionaryTimelineStorage <DatasetId, DatasetProxy>).IsAssignableFrom(type))
            {
                return(new HistoryObjectDictionaryHistory <DatasetId, DatasetProxy>(id => timeline.IdToObject <DatasetProxy>(id)));
            }

            if (typeof(IBidirectionalGraphHistory <DatasetId, Edge <DatasetId> >).IsAssignableFrom(type))
            {
                return(new BidirectionalGraphHistory <DatasetId, Edge <DatasetId> >());
            }

            if (typeof(IVariableTimeline <string>).IsAssignableFrom(type))
            {
                return(new ValueHistory <string>());
            }

            if (typeof(IVariableTimeline <NetworkIdentifier>).IsAssignableFrom(type))
            {
                return(new ValueHistory <NetworkIdentifier>());
            }

            throw new UnknownHistoryMemberTypeException();
        }