Exemplo n.º 1
0
        public static void Visit(
            IRdbmsStorageEntityDefinition entityDefinition,
            Action <TableDefinition, Action <IRdbmsStorageEntityDefinition> > tableDefinitionHandler,
            Action <FilterViewDefinition, Action <IRdbmsStorageEntityDefinition> > filterViewDefinitionHandler,
            Action <UnionViewDefinition, Action <IRdbmsStorageEntityDefinition> > unionViewDefinitionHandler,
            Action <EmptyViewDefinition, Action <IRdbmsStorageEntityDefinition> > emptyViewDefinitionHandler)
        {
            ArgumentUtility.CheckNotNull("entityDefinition", entityDefinition);
            ArgumentUtility.CheckNotNull("tableDefinitionHandler", tableDefinitionHandler);
            ArgumentUtility.CheckNotNull("filterViewDefinitionHandler", filterViewDefinitionHandler);
            ArgumentUtility.CheckNotNull("unionViewDefinitionHandler", unionViewDefinitionHandler);
            ArgumentUtility.CheckNotNull("emptyViewDefinitionHandler", emptyViewDefinitionHandler);

            var visitor = new RdbmsStorageEntityDefinitionVisitor(
                tableDefinitionHandler,
                filterViewDefinitionHandler,
                unionViewDefinitionHandler,
                emptyViewDefinitionHandler);

            entityDefinition.Accept(visitor);
        }
Exemplo n.º 2
0
        public static T Visit <T> (
            IRdbmsStorageEntityDefinition entityDefinition,
            Func <TableDefinition, Func <IRdbmsStorageEntityDefinition, T>, T> tableDefinitionHandler,
            Func <FilterViewDefinition, Func <IRdbmsStorageEntityDefinition, T>, T> filterViewDefinitionHandler,
            Func <UnionViewDefinition, Func <IRdbmsStorageEntityDefinition, T>, T> unionViewDefinitionHandler,
            Func <EmptyViewDefinition, Func <IRdbmsStorageEntityDefinition, T>, T> emptyViewDefinitionHandler)
        {
            ArgumentUtility.CheckNotNull("entityDefinition", entityDefinition);
            ArgumentUtility.CheckNotNull("tableDefinitionHandler", tableDefinitionHandler);
            ArgumentUtility.CheckNotNull("filterViewDefinitionHandler", filterViewDefinitionHandler);
            ArgumentUtility.CheckNotNull("unionViewDefinitionHandler", unionViewDefinitionHandler);
            ArgumentUtility.CheckNotNull("emptyViewDefinitionHandler", emptyViewDefinitionHandler);

            var visitor = new RdbmsStorageEntityDefinitionVisitor <T> (
                tableDefinitionHandler,
                filterViewDefinitionHandler,
                unionViewDefinitionHandler,
                emptyViewDefinitionHandler);

            entityDefinition.Accept(visitor);
            return(visitor.ReturnValue);
        }