Ejemplo n.º 1
0
        public ExecutionNode BuildNode()
        {
            if (!OptionSet)
            {
                throw new InvalidOperationException();
            }

            ExecutionNode node;

            if (ActivityType != null)
            {
                throw new NotImplementedException("Projection in the graph of a reference type not supported");
            }
            else if (ProxyActivity != null)
            {
                node = new ComponentNode(ProxyActivity);
            }
            else if (ActivityBranchBuilder != null)
            {
                node = ActivityBranchBuilder.BuildNode();
            }
            else
            {
                node = new BuilderNode(Name, Decision != null, false, false, Metadata);
            }

            return(node);
        }