/* (non-Javadoc) * @see dima.introspectionBasedAgent.shells.IntrospedMethodsTrunk#init() */ @Override public void load(final ActiveComponentInterface a) { for (final MethodHandler mt : this.getRelevantMethods(a)) { if (!this.checkMethodValidity(mt)) { LogService.writeException(a, "cannot add " + mt + " method not valid "); } else { this.addMethod(mt); } } }
private boolean checkTransientMethodValidity(final MethodHandler mt) { if (mt.isAnnotationPresent(Transient.class)) { if (!(mt.getReturnType().equals(boolean.class) || mt.getReturnType().equals(Boolean.class))) { LogService.writeException( mt.getMyComponent(), "method " + mt + " must return a boolean value"); return false; } else { return true; } } else { return true; } }
private boolean checkStepMethodValidity(final MethodHandler mt) { if (mt.isAnnotationPresent(ProactivityInitialisation.class) || mt.isAnnotationPresent(PreStepComposant.class) || mt.isAnnotationPresent(StepComposant.class) || mt.isAnnotationPresent(PostStepComposant.class) || mt.isAnnotationPresent(ProactivityFinalisation.class)) { if (mt.getParameterTypes().length > 0) { LogService.writeException( mt.getMyComponent(), "StepComposant method " + mt + " can not take any argument!"); return false; } else { return true; } } else { return true; } }