@Advice.OnMethodEnter static void enter(@FieldValue Map<?, ?> field, @Advice.Argument(0) Map<?, ?> argument, @MappedBy String mappedBy) { if ( field != null && Hibernate.isPropertyInitialized( field, mappedBy ) ) { Object[] array = field.values().toArray(); for ( int i = 0; i < array.length; i++ ) { if ( argument == null || !argument.values().contains( array[i] ) ) { setterNull( array[i], null ); } } } }
@Advice.OnMethodEnter static void enter(@Advice.This Object self, @FieldValue Collection<?> field, @Advice.Argument(0) Collection<?> argument, @MappedBy String mappedBy) { if ( field != null && Hibernate.isPropertyInitialized( field, mappedBy ) ) { Object[] array = field.toArray(); for ( int i = 0; i < array.length; i++ ) { if ( argument == null || !argument.contains( array[i] ) ) { getter( array[i] ).remove( self ); } } } }
@Advice.OnMethodEnter static void enter(@FieldValue Collection<?> field, @Advice.Argument(0) Collection<?> argument, @MappedBy String mappedBy) { if ( field != null && Hibernate.isPropertyInitialized( field, mappedBy ) ) { Object[] array = field.toArray(); for ( int i = 0; i < array.length; i++ ) { if ( argument == null || !argument.contains( array[i] ) ) { setterNull( array[i], null ); } } } }
@Advice.OnMethodEnter static void $$_hibernate_clearDirtyAttributes( @Advice.This ExtendedSelfDirtinessTracker self, @Advice.FieldValue(value = EnhancerConstants.TRACKER_FIELD_NAME, readOnly = false) DirtyTracker $$_hibernate_tracker) { if ( $$_hibernate_tracker != null ) { $$_hibernate_tracker.clear(); } self.$$_hibernate_clearDirtyCollectionNames(); } }
@Advice.OnMethodEnter static void enter(@FieldValue Object field, @Advice.Argument(0) Object argument, @MappedBy String mappedBy) { if ( field != null && Hibernate.isPropertyInitialized( field, mappedBy ) && argument != null ) { setterNull( field, null ); } }
@Advice.OnMethodEnter static void enter(@Advice.FieldValue(EnhancerConstants.TRACKER_COMPOSITE_FIELD_NAME) CompositeOwnerTracker $$_hibernate_compositeOwners) { if ( $$_hibernate_compositeOwners != null ) { $$_hibernate_compositeOwners.callOwner( "" ); } } }
@Advice.OnMethodEnter static void $$_hibernate_clearDirtyCollectionNames( @Advice.This ExtendedSelfDirtinessTracker self, @Advice.FieldValue(value = EnhancerConstants.TRACKER_COLLECTION_NAME, readOnly = false) CollectionTracker $$_hibernate_collectionTracker) { if ( $$_hibernate_collectionTracker == null ) { $$_hibernate_collectionTracker = new SimpleCollectionTracker(); } self.$$_hibernate_removeDirtyFields( null ); } }
@Advice.OnMethodEnter static void cleanupPublication(final NetworkPublication publication) { LOGGER.logPublicationRemoval(publication.channel(), publication.sessionId(), publication.streamId()); } }
@Advice.OnMethodEnter public static void sendHook(final ByteBuffer buffer, final InetSocketAddress address) { LOGGER.logFrameOut(buffer, address); } }
@Advice.OnMethodEnter public static void closeReceiveChannelEndpoint(final ReceiveChannelEndpoint channelEndpoint) { LOGGER.logChannelCreated(RECEIVE_CHANNEL_CLOSE, channelEndpoint.udpChannel().description()); } }
@Advice.OnMethodEnter public static void registerSendChannelEndpoint(final SendChannelEndpoint channelEndpoint) { LOGGER.logChannelCreated(SEND_CHANNEL_CREATION, channelEndpoint.udpChannel().description()); } }
@Advice.OnMethodEnter static void $$_hibernate_suspendDirtyTracking( @Advice.Argument(0) boolean suspend, @Advice.FieldValue(value = EnhancerConstants.TRACKER_FIELD_NAME, readOnly = false) DirtyTracker $$_hibernate_tracker) { if ( $$_hibernate_tracker == null ) { $$_hibernate_tracker = new SimpleFieldTracker(); } $$_hibernate_tracker.suspend( suspend ); } }
@Advice.OnMethodEnter static void $$_hibernate_clearDirtyAttributes( @Advice.FieldValue(value = EnhancerConstants.TRACKER_FIELD_NAME) DirtyTracker $$_hibernate_tracker) { if ( $$_hibernate_tracker != null ) { $$_hibernate_tracker.clear(); } } }
@Advice.OnMethodEnter static void $$_hibernate_setOwner( @Advice.Argument(0) String name, @Advice.FieldValue(value = EnhancerConstants.TRACKER_COMPOSITE_FIELD_NAME, readOnly = false) CompositeOwnerTracker $$_hibernate_compositeOwners) { if ( $$_hibernate_compositeOwners != null ) { $$_hibernate_compositeOwners.removeOwner( name ); } } }
@Advice.OnMethodEnter static void cleanupSubscriptionLink(final SubscriptionLink link) { LOGGER.logSubscriptionRemoval(link.channel(), link.streamId(), link.registrationId()); } }
@Advice.OnMethodEnter public static void receiveHook(final UnsafeBuffer buffer, final int length, final InetSocketAddress address) { LOGGER.logFrameIn(buffer, 0, length, address); } }
@Advice.OnMethodEnter public static void registerReceiveChannelEndpoint(final ReceiveChannelEndpoint channelEndpoint) { LOGGER.logChannelCreated(RECEIVE_CHANNEL_CREATION, channelEndpoint.udpChannel().description()); } }
@SuppressWarnings("unused") @Advice.OnMethodEnter(skipOn = Advice.OnNonDefaultValue.class) private static Callable<?> enter(@Identifier String identifier, @Advice.This Object mock, @Advice.Origin Method origin, @Advice.AllArguments Object[] arguments) throws Throwable { MockMethodDispatcher dispatcher = MockMethodDispatcher.get(identifier, mock); if (dispatcher == null || !dispatcher.isMocked(mock) || dispatcher.isOverridden(mock, origin)) { return null; } else { return dispatcher.handle(mock, origin, arguments); } }
@SuppressWarnings("unused") @Advice.OnMethodEnter(skipOn = Advice.OnNonDefaultValue.class) private static boolean enter(@Identifier String id, @Advice.This Object self) { MockMethodDispatcher dispatcher = MockMethodDispatcher.get(id, self); return dispatcher != null && dispatcher.isMock(self); }
@SuppressWarnings("unused") @Advice.OnMethodEnter(skipOn = Advice.OnNonDefaultValue.class) private static boolean enter(@Identifier String identifier, @Advice.This Object self) { MockMethodDispatcher dispatcher = MockMethodDispatcher.get(identifier, self); return dispatcher != null && dispatcher.isMock(self); }