Example #1
0
 public static bool IsVisible(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     var buf = new InteractionBuffer();
     IEnumerable<IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast<IHidingInteractionAdvisor>();
     foreach (IHidingInteractionAdvisor advisor in facets) {
         buf.Append(advisor.Hides(ic, lifecycleManager, manager));
     }
     return IsVisible(buf);
 }
        public void IsNotEmptyTest()
        {
            IInteractionBuffer buffer = new InteractionBuffer();

            Assert.IsFalse(buffer.IsNotEmpty);
            buffer.Append("a reason");
            Assert.IsTrue(buffer.IsNotEmpty);
        }
Example #3
0
        public static bool IsVisible(ISpecification specification, InteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager)
        {
            var buf = new InteractionBuffer();
            IEnumerable <IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast <IHidingInteractionAdvisor>();

            foreach (IHidingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Hides(ic, lifecycleManager, manager));
            }
            return(IsVisible(buf));
        }
Example #4
0
 public static bool IsVisibleWhenPersistent(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     var buf = new InteractionBuffer();
     IEnumerable<IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast<IHidingInteractionAdvisor>();
     foreach (IHidingInteractionAdvisor advisor in facets) {
         var facet = advisor as IHiddenFacet;
         if (facet != null) {
             if (facet.Value == WhenTo.OncePersisted) {
                 continue;
             }
         }
         buf.Append(advisor.Hides(ic, lifecycleManager, manager));
     }
     return IsVisible(buf);
 }
Example #5
0
        public IConsent IsValid(INakedObjectAdapter nakedObjectAdapter, INakedObjectAdapter proposedValue)
        {
            if (proposedValue != null && !proposedValue.Spec.IsOfType(Spec))
            {
                string msg = string.Format(Resources.NakedObjects.TypeMismatchError, Spec.SingularName);
                return(GetConsent(msg));
            }

            var buf = new InteractionBuffer();
            IInteractionContext ic = InteractionContext.ModifyingPropParam(session, false, parentAction.RealTarget(nakedObjectAdapter), Identifier, proposedValue);

            InteractionUtils.IsValid(this, ic, buf);
            return(InteractionUtils.IsValid(buf));
        }
Example #6
0
        public static bool IsVisibleWhenPersistent(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager)
        {
            var buf = new InteractionBuffer();
            IEnumerable <IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast <IHidingInteractionAdvisor>();

            foreach (IHidingInteractionAdvisor advisor in facets)
            {
                var facet = advisor as IHiddenFacet;
                if (facet?.Value != WhenTo.UntilPersisted)
                {
                    buf.Append(advisor.Hides(ic, lifecycleManager, manager));
                }
            }
            return(IsVisible(buf));
        }
Example #7
0
        /// <summary>
        ///     Checks declarative constraints, and then checks imperatively.
        /// </summary>
        public IConsent IsParameterSetValid(INakedObjectAdapter nakedObjectAdapter, INakedObjectAdapter[] parameterSet)
        {
            IInteractionContext ic;
            var buf = new InteractionBuffer();

            if (parameterSet != null)
            {
                INakedObjectAdapter[] parms = RealParameters(nakedObjectAdapter, parameterSet);
                for (int i = 0; i < parms.Length; i++)
                {
                    ic = InteractionContext.ModifyingPropParam(Session, false, RealTarget(nakedObjectAdapter), Identifier, parameterSet[i]);
                    InteractionUtils.IsValid(GetParameter(i), ic, buf);
                }
            }
            INakedObjectAdapter target = RealTarget(nakedObjectAdapter);

            ic = InteractionContext.InvokingAction(Session, false, target, Identifier, parameterSet);
            InteractionUtils.IsValid(this, ic, buf);
            return(InteractionUtils.IsValid(buf));
        }
        public virtual IConsent IsAssociationValid(INakedObject inObject, INakedObject reference)
        {
            if (reference != null && !reference.Spec.IsOfType(ReturnSpec))
            {
                return(GetConsent(string.Format(Resources.NakedObjects.TypeMismatchError, ReturnSpec.SingularName)));
            }

            if (!inObject.ResolveState.IsNotPersistent())
            {
                if (reference != null && !reference.Spec.IsParseable && reference.ResolveState.IsNotPersistent())
                {
                    return(GetConsent(Resources.NakedObjects.TransientFieldMessage));
                }
            }

            var buf = new InteractionBuffer();
            InteractionContext ic = InteractionContext.ModifyingPropParam(Session, false, inObject, Identifier, reference);

            InteractionUtils.IsValid(this, ic, buf);
            return(InteractionUtils.IsValid(buf));
        }
Example #9
0
        public static bool IsVisibleWhenPersistent(ISpecification specification, IInteractionContext ic,
                                                   ILifecycleManager lifecycleManager, IMetamodelManager manager)
        {
            var buf    = new InteractionBuffer();
            var facets = specification.GetFacets()
                         .Where(f => f is IHidingInteractionAdvisor)
                         .Cast <IHidingInteractionAdvisor>();

            foreach (var advisor in facets)
            {
                if (advisor is IHiddenFacet facet)
                {
                    buf.Append(facet.HidesForState(true));
                }
                else
                {
                    buf.Append(advisor.Hides(ic, lifecycleManager, manager));
                }
            }

            return(IsVisible(buf));
        }
Example #10
0
 private static bool IsVisible(InteractionBuffer buf)
 {
     return(buf.IsEmpty);
 }
Example #11
0
        public IConsent IsAssociationValid(INakedObjectAdapter inObjectAdapter, INakedObjectAdapter reference) {
            if (reference != null && !reference.Spec.IsOfType(ReturnSpec)) {
                return GetConsent(string.Format(Resources.NakedObjects.TypeMismatchError, ReturnSpec.SingularName));
            }

            if (!inObjectAdapter.ResolveState.IsNotPersistent()) {
                if (reference != null && !reference.Spec.IsParseable && reference.ResolveState.IsNotPersistent()) {
                    return GetConsent(Resources.NakedObjects.TransientFieldMessage);
                }
            }

            var buf = new InteractionBuffer();
            IInteractionContext ic = InteractionContext.ModifyingPropParam(Session, false, inObjectAdapter, Identifier, reference);
            InteractionUtils.IsValid(this, ic, buf);
            return InteractionUtils.IsValid(buf);
        }
Example #12
0
 /// <summary>
 ///     Checks declarative constraints, and then checks imperatively.
 /// </summary>
 public IConsent IsParameterSetValid(INakedObjectAdapter nakedObjectAdapter, INakedObjectAdapter[] parameterSet) {
     IInteractionContext ic;
     var buf = new InteractionBuffer();
     if (parameterSet != null) {
         INakedObjectAdapter[] parms = RealParameters(nakedObjectAdapter, parameterSet);
         for (int i = 0; i < parms.Length; i++) {
             ic = InteractionContext.ModifyingPropParam(Session, false, RealTarget(nakedObjectAdapter), Identifier, parameterSet[i]);
             InteractionUtils.IsValid(GetParameter(i), ic, buf);
         }
     }
     INakedObjectAdapter target = RealTarget(nakedObjectAdapter);
     ic = InteractionContext.InvokingAction(Session, false, target, Identifier, parameterSet);
     InteractionUtils.IsValid(this, ic, buf);
     return InteractionUtils.IsValid(buf);
 }
Example #13
0
        public static InteractionBuffer IsValid(ISpecification specification, InteractionContext ic, InteractionBuffer buf)
        {
            IEnumerable <IValidatingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IValidatingInteractionAdvisor).Cast <IValidatingInteractionAdvisor>();

            foreach (IValidatingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Invalidates(ic));
            }
            return(buf);
        }
Example #14
0
        public static IConsent IsValid(ISpecification specification, InteractionContext ic)
        {
            InteractionBuffer buf = IsValid(specification, ic, new InteractionBuffer());

            return(IsValid(buf));
        }
Example #15
0
 /// <summary>
 ///     To decode an <see cref="InteractionBuffer" /> returned by
 ///     <see
 ///         cref="IsUsable(ISpecification,InteractionContext,InteractionBuffer)" />
 /// </summary>
 private static IConsent IsUsable(InteractionBuffer buf)
 {
     return(GetConsent(buf.ToString()));
 }
Example #16
0
        private static InteractionBuffer IsUsable(ISpecification specification, InteractionContext ic, InteractionBuffer buf)
        {
            IEnumerable <IDisablingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IDisablingInteractionAdvisor).Cast <IDisablingInteractionAdvisor>();

            foreach (IDisablingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Disables(ic));
            }
            return(buf);
        }
Example #17
0
 /// <summary>
 ///     To decode an <see cref="InteractionBuffer" /> returned by
 ///     <see
 ///         cref="IsValid(ISpecification,InteractionContext,InteractionBuffer)" />
 /// </summary>
 public static IConsent IsValid(InteractionBuffer buf)
 {
     return(GetConsent(buf.ToString()));
 }