Пример #1
0
        public static TNode GetOrAddNode <TNodeType, TNode>(this IContainerNode <TNodeType> containerNode, TNodeType nodeType)
            where TNode : Node <TNodeType>, new()
        {
            Contract.Requires(containerNode != null);

            return(containerNode.GetOrAddNode <TNodeType, TNode>(nodeType, () => new TNode(), Node <TNodeType> .DefaultNodeTypeEqualityComarer));
        }
Пример #2
0
        public static TNode GetOrAddNode <TNodeType, TNode>(this IContainerNode <TNodeType> containerNode, TNodeType nodeType, Func <TNode> nodeFactoryMethod)
            where TNode : Node <TNodeType>
        {
            Contract.Requires(containerNode != null);
            Contract.Requires(nodeFactoryMethod != null);

            return(containerNode.GetOrAddNode <TNodeType, TNode>(nodeType, nodeFactoryMethod, Node <TNodeType> .DefaultNodeTypeEqualityComarer));
        }
Пример #3
0
        // PROTECTED CONSTRUCTORS ///////////////////////////////////////////
        #region Constructors
        protected LinksBuilder(TParentBuilder parentBuilder, IContainerNode <DomNodeType> domContainerNode)
        {
            Contract.Requires(parentBuilder != null);
            Contract.Requires(domContainerNode != null);

            this.ParentBuilder = parentBuilder;

            var domReadWriteLinks = domContainerNode.GetOrAddNode(DomNodeType.Links, () => DomReadWriteLinks.Create());

            this.DomReadWriteLinks = domReadWriteLinks;
        }
Пример #4
0
        // INTERNAL CONSTRUCTORS ////////////////////////////////////////////
        #region Constructors
        internal RelationshipsBuilder(TParentBuilder parentBuilder, IContainerNode <DomNodeType> domContainerNode, TResource clrResource)
        {
            Contract.Requires(parentBuilder != null);
            Contract.Requires(domContainerNode != null);
            Contract.Requires(clrResource != null);

            this.ParentBuilder = parentBuilder;

            var domReadWriteRelationships = domContainerNode.GetOrAddNode(DomNodeType.Relationships, () => DomReadWriteRelationships.Create());

            this.DomReadWriteRelationships = domReadWriteRelationships;

            this.ClrResource = clrResource;
        }
Пример #5
0
        // INTERNAL CONSTRUCTORS ////////////////////////////////////////////
        #region Constructors
        internal AttributesBuilder(TParentBuilder parentBuilder, IResourceType resourceType, IContainerNode <DomNodeType> domContainerNode)
        {
            Contract.Requires(parentBuilder != null);
            Contract.Requires(resourceType != null);
            Contract.Requires(domContainerNode != null);

            this.ParentBuilder = parentBuilder;

            this.ResourceType = resourceType;

            var domAttributes = domContainerNode.GetOrAddNode(DomNodeType.Attributes, () => DomAttributes.Create());

            this.DomAttributes = domAttributes;

            this.BuildClrAttributeNames();
        }
        // INTERNAL CONSTRUCTORS ////////////////////////////////////////////
        #region Constructors
        internal RelationshipsBuilder(TParentBuilder parentBuilder, IServiceModel serviceModel, IContainerNode <DomNodeType> domContainerNode)
        {
            Contract.Requires(parentBuilder != null);
            Contract.Requires(serviceModel != null);
            Contract.Requires(domContainerNode != null);

            this.ParentBuilder = parentBuilder;

            this.ServiceModel = serviceModel;

            var resourceType = serviceModel.GetResourceType <TResource>();

            this.ResourceType = resourceType;

            var domReadWriteRelationships = domContainerNode.GetOrAddNode(DomNodeType.Relationships, () => DomReadWriteRelationships.Create());

            this.DomReadWriteRelationships = domReadWriteRelationships;
        }