/** * If there are no instance interceptors to any instance of the class associated to this observer, * this method adds all unadvised joinpoints to <code>joinpoints</code> and records the joinpoint * status update in the <code>HotSwapStrategy</code>. * @param joinpoints <code>ClassJoinpoints</code> to which the unadvised joinpoints will be added. */ private void updateAdvisenessStatus(JoinpointStatusUpdate.ClassJoinpoints joinpoints) { if (this.instanceInterceptors == 0) { for (Map.Entry<MethodInfo, Interceptor[]> entry: methodInterceptors.entrySet()) { if (entry.getValue() == null || entry.getValue().length == 0) { joinpoints.methodExecutions.add(entry.getKey()); } } findUnadvisedJoinpoints(this.fieldReadInterceptors, joinpoints.fieldReads); findUnadvisedJoinpoints(this.fieldWriteInterceptors, joinpoints.fieldWrites); findUnadvisedJoinpoints(this.constructorInterceptors, joinpoints.constructorExecutions); newJoinpointUpdate(getJoinpointStatusUpdate()); } }
fillNewStateCollections(fieldWriteInterceptors, newFieldWriteInfos, newlyAdvised.fieldWrites, newlyUnadvised.fieldWrites, null); fillNewStateCollections(constructorInterceptors, newConstructorInfos, newlyAdvised.constructorExecutions, newlyUnadvised.constructorExecutions, this.constructorIndexMap); newJoinpointUpdate(this.getJoinpointStatusUpdate());