private UnsafeValue<SSLContext, IllegalStateException> createLazySslContext(final DefaultSslContextProvider provider) { return Values.lazy(new UnsafeValue<SSLContext, IllegalStateException>() { @Override public SSLContext get() { return provider.getDefaultSslContext(); } }); }
/** * Get a new constant {@link Value value provider} whose {@link Value#get() get()} * method always returns the instance supplied to the {@code value} parameter. * <p/> * In case the supplied value constant is {@code null}, an {@link #empty() empty} value * provider is returned. * * @param <T> value type. * @param value value instance to be provided. * @return constant value provider. */ public static <T> Value<T> of(final T value) { return (value == null) ? Values.<T>empty() : new InstanceValue<T>(value); }
@Override public T get() { Value<T> result = value; if (result == null) { synchronized (lock) { result = value; if (result == null) { value = result = Values.of(delegate.get()); } } } return result.get(); }
@Override public T get() throws E { UnsafeValue<T, E> result = value; if (result == null) { synchronized (lock) { result = value; //noinspection ConstantConditions if (result == null) { try { result = Values.unsafe(delegate.get()); } catch (final Throwable e) { //noinspection unchecked result = Values.throwing((E) e); } value = result; } } } return result.get(); }
/** * Create a new Jersey client instance. * * @param config jersey client configuration. * @param sslContext jersey client SSL context. * @param verifier jersey client host name verifier. * @param defaultSslContextProvider default SSL context provider. */ protected JerseyClient(final Configuration config, final SSLContext sslContext, final HostnameVerifier verifier, final DefaultSslContextProvider defaultSslContextProvider) { this(config, sslContext == null ? null : Values.unsafe(sslContext), verifier, defaultSslContextProvider); }
/** * Get a new constant {@link UnsafeValue value provider} whose {@link UnsafeValue#get() get()} * method always returns the instance supplied to the {@code value} parameter. * <p/> * In case the supplied value constant is {@code null}, an {@link #emptyUnsafe() empty} value * provider is returned. * * @param <T> value type. * @param value value instance to be provided. * @return constant value provider. */ public static <T, E extends Throwable> UnsafeValue<T, E> unsafe(final T value) { return (value == null) ? Values.<T, E>emptyUnsafe() : new InstanceUnsafeValue<T, E>(value); }
@Override public T get() throws E { UnsafeValue<T, E> result = value; if (result == null) { synchronized (lock) { result = value; //noinspection ConstantConditions if (result == null) { try { result = Values.unsafe(delegate.get()); } catch (final Throwable e) { //noinspection unchecked result = Values.throwing((E) e); } value = result; } } } return result.get(); }
/** * Create a new Jersey client instance. * * @param config jersey client configuration. * @param sslContext jersey client SSL context. * @param verifier jersey client host name verifier. * @param defaultSslContextProvider default SSL context provider. */ protected JerseyClient(final Configuration config, final SSLContext sslContext, final HostnameVerifier verifier, final DefaultSslContextProvider defaultSslContextProvider) { this(config, sslContext == null ? null : Values.unsafe(sslContext), verifier, defaultSslContextProvider); }
/** * Get a new constant {@link UnsafeValue value provider} whose {@link UnsafeValue#get() get()} * method always returns the instance supplied to the {@code value} parameter. * <p/> * In case the supplied value constant is {@code null}, an {@link #emptyUnsafe() empty} value * provider is returned. * * @param <T> value type. * @param value value instance to be provided. * @return constant value provider. */ public static <T, E extends Throwable> UnsafeValue<T, E> unsafe(final T value) { return (value == null) ? Values.<T, E>emptyUnsafe() : new InstanceUnsafeValue<T, E>(value); }
private UnsafeValue<SSLContext, IllegalStateException> createLazySslContext(final DefaultSslContextProvider provider) { return Values.lazy(new UnsafeValue<SSLContext, IllegalStateException>() { @Override public SSLContext get() { return provider.getDefaultSslContext(); } }); }
/** * Get a new constant {@link Value value provider} whose {@link Value#get() get()} * method always returns the instance supplied to the {@code value} parameter. * <p/> * In case the supplied value constant is {@code null}, an {@link #empty() empty} value * provider is returned. * * @param <T> value type. * @param value value instance to be provided. * @return constant value provider. */ public static <T> Value<T> of(final T value) { return (value == null) ? Values.<T>empty() : new InstanceValue<T>(value); }
@Override public T get() throws E { UnsafeValue<T, E> result = value; if (result == null) { synchronized (lock) { result = value; //noinspection ConstantConditions if (result == null) { try { result = Values.unsafe(delegate.get()); } catch (final Throwable e) { //noinspection unchecked result = Values.throwing((E) e); } value = result; } } } return result.get(); }
@Override public T get() { Value<T> result = value; if (result == null) { synchronized (lock) { result = value; if (result == null) { value = result = Values.of(delegate.get()); } } } return result.get(); }
/** * Create a new Jersey client instance. * * @param config jersey client configuration. * @param sslContext jersey client SSL context. * @param verifier jersey client host name verifier. * @param defaultSslContextProvider default SSL context provider. */ protected JerseyClient(final Configuration config, final SSLContext sslContext, final HostnameVerifier verifier, final DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) { this(config, sslContext == null ? null : Values.unsafe(sslContext), verifier, defaultSslContextProvider, executorService, scheduledExecutorService); }
/** * Get a new constant {@link UnsafeValue value provider} whose {@link UnsafeValue#get() get()} * method always returns the instance supplied to the {@code value} parameter. * <p/> * In case the supplied value constant is {@code null}, an {@link #emptyUnsafe() empty} value * provider is returned. * * @param <T> value type. * @param value value instance to be provided. * @return constant value provider. */ public static <T, E extends Throwable> UnsafeValue<T, E> unsafe(final T value) { return (value == null) ? Values.<T, E>emptyUnsafe() : new InstanceUnsafeValue<T, E>(value); }
/** * Creates new instance from root allResources. * * @param allResources Root resource of the resource model. */ private ResourceModel(List<Resource> rootResources, List<Resource> allResources) { this.resources = allResources; this.rootResources = rootResources; this.runtimeRootResourceModelValue = Values.lazy(new Value<RuntimeResourceModel>() { @Override public RuntimeResourceModel get() { return new RuntimeResourceModel(ResourceModel.this.resources); } }); }
/** * Get a new eagerly initialized {@link Value value provider}. * <p/> * The value returned by its {@link Value#get() get()} method is eagerly computed from the supplied * {@code delegate} value provider and is then stored in a final field for a subsequent retrieval. * <p> * The implementation of the returned eager value provider is thread-safe and is guaranteed to * invoke the {@code get()} method on the supplied {@code delegate} value provider instance once * and only once. * </p> * <p> * If the supplied value provider is {@code null}, an {@link #empty() empty} value * provider is returned. * </p> * * @param <T> value type. * @param delegate value provider delegate that will be used to eagerly initialize the value provider. * @return eagerly initialized, constant value provider. */ public static <T> Value<T> eager(final Value<T> delegate) { return (delegate == null) ? Values.<T>empty() : new EagerValue<T>(delegate); }
@Override public T get() throws E { UnsafeValue<T, E> result = value; if (result == null) { synchronized (lock) { result = value; //noinspection ConstantConditions if (result == null) { try { result = Values.unsafe(delegate.get()); } catch (final Throwable e) { //noinspection unchecked result = Values.throwing((E) e); } value = result; } } } return result.get(); }
/** * Create a new Jersey client instance. * * @param config jersey client configuration. * @param sslContext jersey client SSL context. * @param verifier jersey client host name verifier. * @param defaultSslContextProvider default SSL context provider. */ protected JerseyClient(final Configuration config, final SSLContext sslContext, final HostnameVerifier verifier, final DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) { this(config, sslContext == null ? null : Values.unsafe(sslContext), verifier, defaultSslContextProvider, executorService, scheduledExecutorService); }