Package com.sun.jersey.server.spi.component

Examples of com.sun.jersey.server.spi.component.ResourceComponentProvider


    /* package */ ResourceComponentProvider getResourceComponentProvider(final Class c) {
        assert c != null;

        // Try the non-blocking read, the most common operation
        ResourceComponentProvider rcp = providerMap.get(c);
        if (rcp != null) {
            return rcp;
        }

        // Not present use a synchronized block to ensure that only one
        // instance is created and put to the map
        synchronized (abstractResourceMap) {
            // One or more threads may have been blocking on the synchronized
            // block, re-check the map
            rcp = providerMap.get(c);
            if (rcp != null) {
                return rcp;
            }

            final ResourceComponentProvider _rcp = rcp = rcpFactory.getComponentProvider(null, c);
            Errors.processWithErrors(new Errors.Closure<Void>() {
                @Override
                public Void f() {
                    _rcp.init(getAbstractResource(c));
                    return null;
                }
            });

            providerMap.put(c, rcp);
View Full Code Here


        final ClassAnnotationKey cak = new ClassAnnotationKey(c,
                cc.getAnnotations());

        // Try the non-blocking read, the most common operation
        ResourceComponentProvider rcp = providerWithAnnotationKeyMap.get(cak);
        if (rcp != null) {
            return rcp;
        }

        // Not present use a synchronized block to ensure that only one
        // instance is created and put to the map
        synchronized (abstractResourceMap) {
            // One or more threads may have been blocking on the synchronized
            // block, re-check the map
            rcp = providerWithAnnotationKeyMap.get(cak);
            if (rcp != null) {
                return rcp;
            }

            final ResourceComponentProvider _rcp = rcp = rcpFactory.getComponentProvider(cc, c);
            Errors.processWithErrors(new Errors.Closure<Void>() {
                @Override
                public Void f() {
                    _rcp.init(getAbstractResource(c));
                    return null;
                }
            });

            providerWithAnnotationKeyMap.put(cak, rcp);
View Full Code Here

    /* package */ void initiateResource(AbstractResource ar, final Object resource) {
        final Class c = ar.getResourceClass();
        getUriRules(c);

        if (!providerMap.containsKey(c)) {
            providerMap.put(c, new ResourceComponentProvider() {
                @Override
                public void init(AbstractResource abstractResource) {
                }

                @Override
View Full Code Here

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<Inject, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Undefined;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() == ComponentScope.PerRequest)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<Inject, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Singleton;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() != ComponentScope.Singleton)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        // Add injectable provider for @ResourceRef

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.PerRequest;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Undefined;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() == ComponentScope.PerRequest)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Singleton;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() != ComponentScope.Singleton)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });
View Full Code Here

    /* package */ ResourceComponentProvider getResourceComponentProvider(final Class c) {
        assert c != null;

        // Try the non-blocking read, the most common operation
        ResourceComponentProvider rcp = providerMap.get(c);
        if (rcp != null) {
            return rcp;
        }

        // Not present use a synchronized block to ensure that only one
        // instance is created and put to the map
        synchronized (abstractResourceMap) {
            // One or more threads may have been blocking on the synchronized
            // block, re-check the map
            rcp = providerMap.get(c);
            if (rcp != null) {
                return rcp;
            }

            final ResourceComponentProvider _rcp = rcp = rcpFactory.getComponentProvider(null, c);
            Errors.processWithErrors(new Errors.Closure<Void>() {
                @Override
                public Void f() {
                    _rcp.init(getAbstractResource(c));
                    return null;
                }
            });

            providerMap.put(c, rcp);
View Full Code Here

        final ClassAnnotationKey cak = new ClassAnnotationKey(c,
                cc.getAnnotations());

        // Try the non-blocking read, the most common operation
        ResourceComponentProvider rcp = providerWithAnnotationKeyMap.get(cak);
        if (rcp != null) {
            return rcp;
        }

        // Not present use a synchronized block to ensure that only one
        // instance is created and put to the map
        synchronized (abstractResourceMap) {
            // One or more threads may have been blocking on the synchronized
            // block, re-check the map
            rcp = providerWithAnnotationKeyMap.get(cak);
            if (rcp != null) {
                return rcp;
            }

            final ResourceComponentProvider _rcp = rcp = rcpFactory.getComponentProvider(cc, c);
            Errors.processWithErrors(new Errors.Closure<Void>() {
                @Override
                public Void f() {
                    _rcp.init(getAbstractResource(c));
                    return null;
                }
            });

            providerWithAnnotationKeyMap.put(cak, rcp);
View Full Code Here

    /* package */ void initiateResource(AbstractResource ar, final Object resource) {
        final Class c = ar.getResourceClass();
        getUriRules(c);

        if (!providerMap.containsKey(c)) {
            providerMap.put(c, new ResourceComponentProvider() {
                @Override
                public void init(AbstractResource abstractResource) {
                }

                @Override
View Full Code Here

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<Inject, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Undefined;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() == ComponentScope.PerRequest)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<Inject, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Singleton;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, Inject a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() != ComponentScope.Singleton)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        // Add injectable provider for @ResourceRef

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.PerRequest;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Undefined;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() == ComponentScope.PerRequest)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });

        injectableFactory.add(
                new InjectableProvider<InjectParam, Type>() {
                    @Override
                    public ComponentScope getScope() {
                        return ComponentScope.Singleton;
                    }

                    @Override
                    public Injectable<Object> getInjectable(ComponentContext cc, InjectParam a, Type t) {
                        if (!(t instanceof Class))
                            return null;

                        final ResourceComponentProvider rcp = getResourceComponentProvider(cc, (Class)t);
                        if (rcp.getScope() != ComponentScope.Singleton)
                            return null;

                        return new Injectable<Object>() {
                            @Override
                            public Object getValue() {
                                return rcp.getInstance(context);
                            }
                        };
                    }

                });
View Full Code Here

  public static class SpringComponentProviderFactory implements ResourceComponentProviderFactory {

    public static DefaultListableBeanFactory defaultListableBeanFactory;

    public ResourceComponentProvider getComponentProvider(final Class<?> c) {
      return new ResourceComponentProvider() {

        public Object getInstance() {
          return defaultListableBeanFactory.getBean(c);
        }
View Full Code Here

    /* package */ ResourceComponentProvider getResourceComponentProvider(final Class c) {
        assert c != null;

        // Try the non-blocking read, the most common operation
        ResourceComponentProvider rcp = providerMap.get(c);
        if (rcp != null) {
            return rcp;
        }

        // Not present use a synchronized block to ensure that only one
        // instance is created and put to the map
        synchronized (abstractResourceMap) {
            // One or more threads may have been blocking on the synchronized
            // block, re-check the map
            rcp = providerMap.get(c);
            if (rcp != null) {
                return rcp;
            }

            final ResourceComponentProvider _rcp = rcp = rcpFactory.getComponentProvider(null, c);
            Errors.processWithErrors(new Errors.Closure<Void>() {
                @Override
                public Void f() {
                    _rcp.init(getAbstractResource(c));
                    return null;
                }
            });

            providerMap.put(c, rcp);
View Full Code Here

TOP

Related Classes of com.sun.jersey.server.spi.component.ResourceComponentProvider

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.