public override IClassVisitor Extend(IClassVisitor visitor, IBytecodeBehaviorState state, IList <IBytecodeBehavior> remainingPendingBehaviors,
                                                 IList <IBytecodeBehavior> cascadePendingBehaviors)
            {
                // LazyRelationsBehavior executes in this cascade
                CascadeBehavior2 cascadeBehavior2 = BeanContext.RegisterBean <CascadeBehavior2>().PropertyValue("MetaData", MetaData).Finish();

                cascadePendingBehaviors.Add(cascadeBehavior2);
                return(visitor);
            }
Esempio n. 2
0
            public override IClassVisitor Extend(IClassVisitor visitor, IBytecodeBehaviorState state, IList <IBytecodeBehavior> remainingPendingBehaviors,
                                                 IList <IBytecodeBehavior> cascadePendingBehaviors)
            {
                visitor = new InterfaceAdder(visitor, typeof(IDataObject), typeof(INotifyCollectionChangedListener));
                visitor = new DataObjectVisitor(visitor, metaData, PropertyInfoProvider);
                visitor = new SetCacheModificationMethodCreator(visitor);

                // ToBeUpdated & ToBeDeleted have to fire PropertyChange-Events by themselves
                String[] properties = { DataObjectVisitor.template_p_toBeUpdated.Name, DataObjectVisitor.template_p_toBeDeleted.Name };

                CascadeBehavior2 cascadeBehavior2 = BeanContext.RegisterWithLifecycle(new CascadeBehavior2(metaData, properties)).Finish();

                cascadePendingBehaviors.Add(cascadeBehavior2);

                return(visitor);
            }