Exemplo n.º 1
0
 /// <inheritdoc/>
 protected override void VisitMemberNode(IAssetMemberNode memberNode, int inNonIdentifiableType)
 {
     if (memberNode?.IsContentOverridden() == true)
     {
         Result.Set(ConvertPath(CurrentPath, inNonIdentifiableType), memberNode.GetContentOverride());
     }
 }
Exemplo n.º 2
0
        /// <inheritdoc/>
        protected override void VisitMemberNode([NotNull] IAssetMemberNode memberNode, int inNonIdentifiableType)
        {
            var value = memberNode.Retrieve();

            if (propertyGraphDefinition.IsMemberTargetObjectReference(memberNode, value))
            {
                if (value == null)
                {
                    return;
                }

                var identifiable = value as IIdentifiable;
                if (identifiable == null)
                {
                    throw new InvalidOperationException("IsObjectReference returned true for an object that is not IIdentifiable");
                }

                var id = identifiable.Id;
                if (ShouldOutputReference?.Invoke(id) ?? true)
                {
                    Result.Set(ConvertPath(CurrentPath, inNonIdentifiableType), id);
                }
            }
        }
Exemplo n.º 3
0
 public AssetMemberNodePresenter([NotNull] INodePresenterFactoryInternal factory, IPropertyProviderViewModel propertyProvider, [NotNull] INodePresenter parent, [NotNull] IAssetMemberNode member)
     : base(factory, propertyProvider, parent, member)
 {
 }
 /// <summary>
 /// Visits a node that is an <see cref="IAssetMemberNode"/>.
 /// </summary>
 /// <param name="memberNode">The node to visit.</param>
 /// <param name="inNonIdentifiableType"></param>
 protected abstract void VisitMemberNode(IAssetMemberNode memberNode, int inNonIdentifiableType);