/** * Replace the built-in deserializer with the given deserializer. * * <br /> * <b>ATTENTION!:</b> Use at your own risk * * @param deserializer * custom deserializer * @deprecated use {@link #serializer(ArangoSerialization)} instead * @return {@link ArangoDBAsync.Builder} */ @Deprecated public Builder setDeserializer(final ArangoDeserializer deserializer) { deserializer(deserializer); return this; }
/** * Adds a host in the arangodb builder * * @param host the host * @param port the port * @throws NullPointerException when host is null */ public void addHost(String host, int port) throws NullPointerException { requireNonNull(host, "host is required"); builder.host(host, port); builderAsync.host(host, port); }
/** * Set the {@link LoadBalancingStrategy} * * @param loadBalancingStrategy the LoadBalancingStrategy * @throws NullPointerException when the loadBalancingStrategy is null */ public void setLoadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy) throws NullPointerException { requireNonNull(loadBalancingStrategy, "loadBalancingStrategy is required"); builder.loadBalancingStrategy(loadBalancingStrategy); builderAsync.loadBalancingStrategy(loadBalancingStrategy); }
/** * Returns an instance of {@link ArangoDBAsync}. * * @return {@link ArangoDBAsync} */ public synchronized ArangoDBAsync build() { if (hosts.isEmpty()) { hosts.add(host); } final VPack vpacker = vpackBuilder.serializeNullValues(false).build(); final VPack vpackerNull = vpackBuilder.serializeNullValues(true).build(); final VPackParser vpackParser = vpackParserBuilder.build(); final ArangoSerializer serializerTemp = serializer != null ? serializer : new ArangoSerializerImpl(vpacker, vpackerNull, vpackParser); final ArangoDeserializer deserializerTemp = deserializer != null ? deserializer : new ArangoDeserializerImpl(vpackerNull, vpackParser); final DefaultArangoSerialization internal = new DefaultArangoSerialization(serializerTemp, deserializerTemp); final ArangoSerialization custom = customSerializer != null ? customSerializer : internal; final ArangoSerializationFactory util = new ArangoSerializationFactory(internal, custom); final int max = maxConnections != null ? Math.max(1, maxConnections) : ArangoDefaults.MAX_CONNECTIONS_VST_DEFAULT; final ConnectionFactory connectionFactory = new VstConnectionFactoryAsync(host, timeout, connectionTtl, useSsl, sslContext); final HostResolver hostResolver = createHostResolver(createHostList(max, connectionFactory), max, connectionFactory); final HostHandler hostHandler = createHostHandler(hostResolver); return new ArangoDBAsyncImpl(asyncBuilder(hostHandler), util, syncBuilder(hostHandler), hostResolver, new ArangoContext()); }
/** * Returns an instance of {@link ArangoDBAsync}. * * @return {@link ArangoDBAsync} */ public synchronized ArangoDBAsync build() { if (hosts.isEmpty()) { hosts.add(host); } final VPack vpacker = vpackBuilder.serializeNullValues(false).build(); final VPack vpackerNull = vpackBuilder.serializeNullValues(true).build(); final VPackParser vpackParser = vpackParserBuilder.build(); final ArangoSerializer serializerTemp = serializer != null ? serializer : new ArangoSerializerImpl(vpacker, vpackerNull, vpackParser); final ArangoDeserializer deserializerTemp = deserializer != null ? deserializer : new ArangoDeserializerImpl(vpackerNull, vpackParser); final DefaultArangoSerialization internal = new DefaultArangoSerialization(serializerTemp, deserializerTemp); final ArangoSerialization custom = customSerializer != null ? customSerializer : internal; final ArangoSerializationFactory util = new ArangoSerializationFactory(internal, custom); final int max = maxConnections != null ? Math.max(1, maxConnections) : ArangoDefaults.MAX_CONNECTIONS_VST_DEFAULT; final ConnectionFactory connectionFactory = new VstConnectionFactoryAsync(host, timeout, connectionTtl, useSsl, sslContext); final HostResolver hostResolver = createHostResolver(createHostList(max, connectionFactory), max, connectionFactory); final HostHandler hostHandler = createHostHandler(hostResolver); return new ArangoDBAsyncImpl(asyncBuilder(hostHandler), util, syncBuilder(hostHandler), hostResolver, new ArangoContext()); }
/** * Replace the built-in deserializer with the given deserializer. * * <br /> * <b>ATTENTION!:</b> Use at your own risk * * @param deserializer * custom deserializer * @deprecated use {@link #serializer(ArangoSerialization)} instead * @return {@link ArangoDBAsync.Builder} */ @Deprecated public Builder setDeserializer(final ArangoDeserializer deserializer) { deserializer(deserializer); return this; }
@Override public void loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy) { arangoDB.loadBalancingStrategy(loadBalancingStrategy); }
@Override public void acquireHostList(boolean acquireHostList) { arangoDB.acquireHostList(acquireHostList); }
@Override public ArangoDBDocumentCollectionManagerFactory getAsync() throws UnsupportedOperationException { return new ArangoDBDocumentCollectionManagerFactory(builder.build(), builderAsync.build()); }
@Override public ArangoDBDocumentCollectionManagerFactory get() throws UnsupportedOperationException { return new ArangoDBDocumentCollectionManagerFactory(builder.build(), builderAsync.build()); }
@Override public void chunksize(int chunksize) { arangoDB.chunksize(chunksize); }
@Override public void host(String host, int port) { arangoDB.host(host, port); }
/** * set the chucksize * * @param chuckSize the cucksize */ public void setChuckSize(int chuckSize) { builder.chunksize(chuckSize); builderAsync.chunksize(chuckSize); }
public ArangoDBAsync build() { return arangoDB.build(); } }