/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Determines whether the given methods can enhance the resource. * * @param resource resource to add the methods to. * @param methods methods to add. * @return {@code true} if methods can enhance the resource, {@code false} otherwise. */ private static boolean methodsSuitableForResource(final Resource resource, final List<Method> methods) { if (!resource.getResourceMethods().isEmpty()) { return true; } // If there are no handler classes/instances we want to add only non-HEAD / non-OPTIONS methods. if (resource.getHandlerInstances().isEmpty() && resource.getHandlerClasses().isEmpty()) { for (final Method method : methods) { if (!HttpMethod.HEAD.equals(method.httpMethod) && !HttpMethod.OPTIONS.equals(method.httpMethod)) { return true; } } } return false; } }
/** * Determines whether the given methods can enhance the resource. * * @param resource resource to add the methods to. * @param methods methods to add. * @return {@code true} if methods can enhance the resource, {@code false} otherwise. */ private static boolean methodsSuitableForResource(final Resource resource, final List<Method> methods) { if (!resource.getResourceMethods().isEmpty()) { return true; } // If there are no handler classes/instances we want to add only non-HEAD / non-OPTIONS methods. if (resource.getHandlerInstances().isEmpty() && resource.getHandlerClasses().isEmpty()) { for (final Method method : methods) { if (!HttpMethod.HEAD.equals(method.httpMethod) && !HttpMethod.OPTIONS.equals(method.httpMethod)) { return true; } } } return false; } }
private void bindEnhancingResourceClasses( InjectionManager injectionManager, ServerBootstrapBag bootstrapBag, ResourceModel resourceModel, ResourceBag resourceBag, ResourceConfig runtimeConfig) { Set<Class<?>> newClasses = new HashSet<>(); Set<Object> newInstances = new HashSet<>(); for (final Resource res : resourceModel.getRootResources()) { newClasses.addAll(res.getHandlerClasses()); newInstances.addAll(res.getHandlerInstances()); } newClasses.removeAll(resourceBag.classes); newInstances.removeAll(resourceBag.instances); ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false); bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig); }
@Override public Void call() { for (final Object handlerInstance : resource.getHandlerInstances()) { final Class<?> handlerInstanceClass = handlerInstance.getClass(); if (!resource.getHandlerClasses().contains(handlerInstanceClass)) { createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods); } else { Errors.warning(resource, LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass)); } } return null; } });
private void bindEnhancingResourceClasses( InjectionManager injectionManager, ServerBootstrapBag bootstrapBag, ResourceModel resourceModel, ResourceBag resourceBag, ResourceConfig runtimeConfig) { Set<Class<?>> newClasses = new HashSet<>(); Set<Object> newInstances = new HashSet<>(); for (final Resource res : resourceModel.getRootResources()) { newClasses.addAll(res.getHandlerClasses()); newInstances.addAll(res.getHandlerInstances()); } newClasses.removeAll(resourceBag.classes); newInstances.removeAll(resourceBag.instances); ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false); bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig); }
if (resource.getHandlerClasses().isEmpty() && resource.getHandlerInstances().isEmpty()) { for (String resourceName : resource.getNames()) { final Class<Object> resourceClass = AccessController
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Determines whether the given methods can enhance the resource. * * @param resource resource to add the methods to. * @param methods methods to add. * @return {@code true} if methods can enhance the resource, {@code false} otherwise. */ private static boolean methodsSuitableForResource(final Resource resource, final List<Method> methods) { if (!resource.getResourceMethods().isEmpty()) { return true; } // If there are no handler classes/instances we want to add only non-HEAD / non-OPTIONS methods. if (resource.getHandlerInstances().isEmpty() && resource.getHandlerClasses().isEmpty()) { for (final Method method : methods) { if (!HttpMethod.HEAD.equals(method.httpMethod) && !HttpMethod.OPTIONS.equals(method.httpMethod)) { return true; } } } return false; } }
private void bindEnhancingResourceClasses( InjectionManager injectionManager, ServerBootstrapBag bootstrapBag, ResourceModel resourceModel, ResourceBag resourceBag, ResourceConfig runtimeConfig) { Set<Class<?>> newClasses = new HashSet<>(); Set<Object> newInstances = new HashSet<>(); for (final Resource res : resourceModel.getRootResources()) { newClasses.addAll(res.getHandlerClasses()); newInstances.addAll(res.getHandlerInstances()); } newClasses.removeAll(resourceBag.classes); newInstances.removeAll(resourceBag.instances); ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false); bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig); }
/** * Determines if a resource is a controller. * * @param resource resource to test. * @return outcome of controller test. */ private static boolean isController(Resource resource) { final Boolean b1 = resource.getHandlerClasses().stream() .map(c -> c.isAnnotationPresent(Controller.class)) .reduce(Boolean.FALSE, Boolean::logicalOr); final Boolean b2 = resource.getHandlerInstances().stream() .map(o -> o.getClass().isAnnotationPresent(Controller.class)) .reduce(Boolean.FALSE, Boolean::logicalOr); return b1 || b2; } }
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
/** * Register a new programmatically created resource model. * * @param resourceModel programmatically created resource model. */ void registerProgrammaticResource(Resource resourceModel) { registerModel(resourceModel); classes.addAll(resourceModel.getHandlerClasses()); instances.addAll(resourceModel.getHandlerInstances()); }
@Override public Void call() { for (final Object handlerInstance : resource.getHandlerInstances()) { final Class<?> handlerInstanceClass = handlerInstance.getClass(); if (!resource.getHandlerClasses().contains(handlerInstanceClass)) { createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods); } else { Errors.warning(resource, LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass)); } } return null; } });
@Override public Void call() { for (final Object handlerInstance : resource.getHandlerInstances()) { final Class<?> handlerInstanceClass = handlerInstance.getClass(); if (!resource.getHandlerClasses().contains(handlerInstanceClass)) { createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods); } else { Errors.warning(resource, LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass)); } } return null; } });
@Override public Void call() { for (final Object handlerInstance : resource.getHandlerInstances()) { final Class<?> handlerInstanceClass = handlerInstance.getClass(); if (!resource.getHandlerClasses().contains(handlerInstanceClass)) { createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods); } else { Errors.warning(resource, LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass)); } } return null; } });
private void bindEnhancingResourceClasses( InjectionManager injectionManager, ServerBootstrapBag bootstrapBag, ResourceModel resourceModel, ResourceBag resourceBag, ResourceConfig runtimeConfig) { Set<Class<?>> newClasses = new HashSet<>(); Set<Object> newInstances = new HashSet<>(); for (final Resource res : resourceModel.getRootResources()) { newClasses.addAll(res.getHandlerClasses()); newInstances.addAll(res.getHandlerInstances()); } newClasses.removeAll(resourceBag.classes); newInstances.removeAll(resourceBag.instances); ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false); bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig); }