Skip to content

Commit

Permalink
Replace concrete tree map primitive with abstract navigable map primi…
Browse files Browse the repository at this point in the history
…tives.
  • Loading branch information
kuujo committed Jul 11, 2018
1 parent 8692633 commit cadaa37
Show file tree
Hide file tree
Showing 34 changed files with 183 additions and 796 deletions.
12 changes: 6 additions & 6 deletions core/src/main/java/io/atomix/core/Atomix.java
Expand Up @@ -34,9 +34,9 @@
import io.atomix.core.lock.DistributedLock; import io.atomix.core.lock.DistributedLock;
import io.atomix.core.map.AtomicCounterMap; import io.atomix.core.map.AtomicCounterMap;
import io.atomix.core.map.AtomicMap; import io.atomix.core.map.AtomicMap;
import io.atomix.core.map.AtomicTreeMap; import io.atomix.core.map.AtomicNavigableMap;
import io.atomix.core.map.DistributedMap; import io.atomix.core.map.DistributedMap;
import io.atomix.core.map.DistributedTreeMap; import io.atomix.core.map.DistributedNavigableMap;
import io.atomix.core.multimap.AtomicMultimap; import io.atomix.core.multimap.AtomicMultimap;
import io.atomix.core.multimap.DistributedMultimap; import io.atomix.core.multimap.DistributedMultimap;
import io.atomix.core.multiset.DistributedMultiset; import io.atomix.core.multiset.DistributedMultiset;
Expand Down Expand Up @@ -355,8 +355,8 @@ public <K, V> DistributedMap<K, V> getMap(String name) {
} }


@Override @Override
public <K extends Comparable<K>, V> DistributedTreeMap<K, V> getTreeMap(String name) { public <K extends Comparable<K>, V> DistributedNavigableMap<K, V> getNavigableMap(String name) {
return primitives.getTreeMap(name); return primitives.getNavigableMap(name);
} }


@Override @Override
Expand All @@ -375,8 +375,8 @@ public <V> AtomicDocumentTree<V> getAtomicDocumentTree(String name) {
} }


@Override @Override
public <K extends Comparable<K>, V> AtomicTreeMap<K, V> getAtomicTreeMap(String name) { public <K extends Comparable<K>, V> AtomicNavigableMap<K, V> getAtomicNavigableMap(String name) {
return primitives.getAtomicTreeMap(name); return primitives.getAtomicNavigableMap(name);
} }


@Override @Override
Expand Down
38 changes: 19 additions & 19 deletions core/src/main/java/io/atomix/core/PrimitivesService.java
Expand Up @@ -48,15 +48,15 @@
import io.atomix.core.map.AtomicMap; import io.atomix.core.map.AtomicMap;
import io.atomix.core.map.AtomicMapBuilder; import io.atomix.core.map.AtomicMapBuilder;
import io.atomix.core.map.AtomicMapType; import io.atomix.core.map.AtomicMapType;
import io.atomix.core.map.AtomicTreeMap; import io.atomix.core.map.AtomicNavigableMap;
import io.atomix.core.map.AtomicTreeMapBuilder; import io.atomix.core.map.AtomicNavigableMapBuilder;
import io.atomix.core.map.AtomicTreeMapType; import io.atomix.core.map.AtomicNavigableMapType;
import io.atomix.core.map.DistributedMap; import io.atomix.core.map.DistributedMap;
import io.atomix.core.map.DistributedMapBuilder; import io.atomix.core.map.DistributedMapBuilder;
import io.atomix.core.map.DistributedMapType; import io.atomix.core.map.DistributedMapType;
import io.atomix.core.map.DistributedTreeMap; import io.atomix.core.map.DistributedNavigableMap;
import io.atomix.core.map.DistributedTreeMapBuilder; import io.atomix.core.map.DistributedNavigableMapBuilder;
import io.atomix.core.map.DistributedTreeMapType; import io.atomix.core.map.DistributedNavigableMapType;
import io.atomix.core.multimap.AtomicMultimap; import io.atomix.core.multimap.AtomicMultimap;
import io.atomix.core.multimap.AtomicMultimapBuilder; import io.atomix.core.multimap.AtomicMultimapBuilder;
import io.atomix.core.multimap.AtomicMultimapType; import io.atomix.core.multimap.AtomicMultimapType;
Expand Down Expand Up @@ -146,8 +146,8 @@ default <K, V> DistributedMapBuilder<K, V> mapBuilder(String name, PrimitiveProt
* @param <V> value type * @param <V> value type
* @return builder for a tree map * @return builder for a tree map
*/ */
default <K extends Comparable<K>, V> DistributedTreeMapBuilder<K, V> treeMapBuilder(String name) { default <K extends Comparable<K>, V> DistributedNavigableMapBuilder<K, V> navigableMapBuilder(String name) {
return primitiveBuilder(name, DistributedTreeMapType.instance()); return primitiveBuilder(name, DistributedNavigableMapType.instance());
} }


/** /**
Expand All @@ -159,8 +159,8 @@ default <K extends Comparable<K>, V> DistributedTreeMapBuilder<K, V> treeMapBuil
* @param <V> value type * @param <V> value type
* @return builder for a tree map * @return builder for a tree map
*/ */
default <K extends Comparable<K>, V> DistributedTreeMapBuilder<K, V> treeMapBuilder(String name, PrimitiveProtocol protocol) { default <K extends Comparable<K>, V> DistributedNavigableMapBuilder<K, V> navigableMapBuilder(String name, PrimitiveProtocol protocol) {
return primitiveBuilder(name, DistributedTreeMapType.instance(), protocol); return primitiveBuilder(name, DistributedNavigableMapType.instance(), protocol);
} }


/** /**
Expand Down Expand Up @@ -237,28 +237,28 @@ default <V> AtomicDocumentTreeBuilder<V> atomicDocumentTreeBuilder(String name,
} }


/** /**
* Creates a new {@code AtomicTreeMapBuilder}. * Creates a new {@code AtomicNavigableMapBuilder}.
* *
* @param name the primitive name * @param name the primitive name
* @param <K> key type * @param <K> key type
* @param <V> value type * @param <V> value type
* @return builder for a async atomic tree map * @return builder for a async atomic tree map
*/ */
default <K extends Comparable<K>, V> AtomicTreeMapBuilder<K, V> atomicTreeMapBuilder(String name) { default <K extends Comparable<K>, V> AtomicNavigableMapBuilder<K, V> atomicNavigableMapBuilder(String name) {
return primitiveBuilder(name, AtomicTreeMapType.instance()); return primitiveBuilder(name, AtomicNavigableMapType.instance());
} }


/** /**
* Creates a new {@code AtomicTreeMapBuilder}. * Creates a new {@code AtomicNavigableMapBuilder}.
* *
* @param name the primitive name * @param name the primitive name
* @param protocol the primitive protocol * @param protocol the primitive protocol
* @param <K> key type * @param <K> key type
* @param <V> value type * @param <V> value type
* @return builder for a async atomic tree map * @return builder for a async atomic tree map
*/ */
default <K extends Comparable<K>, V> AtomicTreeMapBuilder<K, V> atomicTreeMapBuilder(String name, PrimitiveProtocol protocol) { default <K extends Comparable<K>, V> AtomicNavigableMapBuilder<K, V> atomicNavigableMapBuilder(String name, PrimitiveProtocol protocol) {
return primitiveBuilder(name, AtomicTreeMapType.instance(), protocol); return primitiveBuilder(name, AtomicNavigableMapType.instance(), protocol);
} }


/** /**
Expand Down Expand Up @@ -731,14 +731,14 @@ default TransactionBuilder transactionBuilder() {
<K, V> DistributedMap<K, V> getMap(String name); <K, V> DistributedMap<K, V> getMap(String name);


/** /**
* Creates a new DistributedTreeMap. * Creates a new DistributedNavigableMap.
* *
* @param name the primitive name * @param name the primitive name
* @param <K> key type * @param <K> key type
* @param <V> value type * @param <V> value type
* @return a new distributed map * @return a new distributed map
*/ */
<K extends Comparable<K>, V> DistributedTreeMap<K, V> getTreeMap(String name); <K extends Comparable<K>, V> DistributedNavigableMap<K, V> getNavigableMap(String name);


/** /**
* Creates a new DistributedMultimap. * Creates a new DistributedMultimap.
Expand Down Expand Up @@ -777,7 +777,7 @@ default TransactionBuilder transactionBuilder() {
* @param <V> value type * @param <V> value type
* @return a new atomic tree map * @return a new atomic tree map
*/ */
<K extends Comparable<K>, V> AtomicTreeMap<K, V> getAtomicTreeMap(String name); <K extends Comparable<K>, V> AtomicNavigableMap<K, V> getAtomicNavigableMap(String name);


/** /**
* Creates a new {@code AtomicTreeMap}. * Creates a new {@code AtomicTreeMap}.
Expand Down
Expand Up @@ -43,12 +43,12 @@
import io.atomix.core.map.AtomicCounterMapType; import io.atomix.core.map.AtomicCounterMapType;
import io.atomix.core.map.AtomicMap; import io.atomix.core.map.AtomicMap;
import io.atomix.core.map.AtomicMapType; import io.atomix.core.map.AtomicMapType;
import io.atomix.core.map.AtomicTreeMap; import io.atomix.core.map.AtomicNavigableMap;
import io.atomix.core.map.AtomicTreeMapType; import io.atomix.core.map.AtomicNavigableMapType;
import io.atomix.core.map.DistributedMap; import io.atomix.core.map.DistributedMap;
import io.atomix.core.map.DistributedMapType; import io.atomix.core.map.DistributedMapType;
import io.atomix.core.map.DistributedTreeMap; import io.atomix.core.map.DistributedNavigableMap;
import io.atomix.core.map.DistributedTreeMapType; import io.atomix.core.map.DistributedNavigableMapType;
import io.atomix.core.multimap.AtomicMultimap; import io.atomix.core.multimap.AtomicMultimap;
import io.atomix.core.multimap.AtomicMultimapType; import io.atomix.core.multimap.AtomicMultimapType;
import io.atomix.core.multimap.DistributedMultimap; import io.atomix.core.multimap.DistributedMultimap;
Expand Down Expand Up @@ -162,8 +162,8 @@ public <K, V> DistributedMap<K, V> getMap(String name) {
} }


@Override @Override
public <K extends Comparable<K>, V> DistributedTreeMap<K, V> getTreeMap(String name) { public <K extends Comparable<K>, V> DistributedNavigableMap<K, V> getNavigableMap(String name) {
return getPrimitive(name, DistributedTreeMapType.instance(), configService.getConfig(name)); return getPrimitive(name, DistributedNavigableMapType.instance(), configService.getConfig(name));
} }


@Override @Override
Expand All @@ -182,8 +182,8 @@ public <V> AtomicDocumentTree<V> getAtomicDocumentTree(String name) {
} }


@Override @Override
public <K extends Comparable<K>, V> AtomicTreeMap<K, V> getAtomicTreeMap(String name) { public <K extends Comparable<K>, V> AtomicNavigableMap<K, V> getAtomicNavigableMap(String name) {
return getPrimitive(name, AtomicTreeMapType.instance(), configService.getConfig(name)); return getPrimitive(name, AtomicNavigableMapType.instance(), configService.getConfig(name));
} }


@Override @Override
Expand Down
34 changes: 0 additions & 34 deletions core/src/main/java/io/atomix/core/map/AsyncAtomicTreeMap.java

This file was deleted.

31 changes: 0 additions & 31 deletions core/src/main/java/io/atomix/core/map/AsyncDistributedTreeMap.java

This file was deleted.

Expand Up @@ -20,11 +20,11 @@
import io.atomix.primitive.PrimitiveManagementService; import io.atomix.primitive.PrimitiveManagementService;


/** /**
* Builder for {@link AtomicTreeMap}. * Builder for {@link AtomicNavigableMap}.
*/ */
public abstract class AtomicTreeMapBuilder<K extends Comparable<K>, V> public abstract class AtomicNavigableMapBuilder<K extends Comparable<K>, V>
extends PrimitiveBuilder<AtomicTreeMapBuilder<K, V>, AtomicTreeMapConfig, AtomicTreeMap<K, V>> { extends PrimitiveBuilder<AtomicNavigableMapBuilder<K, V>, AtomicNavigableMapConfig, AtomicNavigableMap<K, V>> {
public AtomicTreeMapBuilder(String name, AtomicTreeMapConfig config, PrimitiveManagementService managementService) { public AtomicNavigableMapBuilder(String name, AtomicNavigableMapConfig config, PrimitiveManagementService managementService) {
super(AtomicTreeMapType.instance(), name, config, managementService); super(AtomicNavigableMapType.instance(), name, config, managementService);
} }
} }
Expand Up @@ -21,9 +21,9 @@
/** /**
* Consistent tree-map configuration. * Consistent tree-map configuration.
*/ */
public class AtomicTreeMapConfig extends PrimitiveConfig<AtomicTreeMapConfig> { public class AtomicNavigableMapConfig extends PrimitiveConfig<AtomicNavigableMapConfig> {
@Override @Override
public PrimitiveType getType() { public PrimitiveType getType() {
return AtomicTreeMapType.instance(); return AtomicNavigableMapType.instance();
} }
} }
Expand Up @@ -15,8 +15,8 @@
*/ */
package io.atomix.core.map; package io.atomix.core.map;


import io.atomix.core.map.impl.DefaultAtomicTreeMapBuilder; import io.atomix.core.map.impl.DefaultAtomicNavigableMapBuilder;
import io.atomix.core.map.impl.DefaultAtomicTreeMapService; import io.atomix.core.map.impl.DefaultAtomicNavigableMapService;
import io.atomix.primitive.PrimitiveManagementService; import io.atomix.primitive.PrimitiveManagementService;
import io.atomix.primitive.PrimitiveType; import io.atomix.primitive.PrimitiveType;
import io.atomix.primitive.service.PrimitiveService; import io.atomix.primitive.service.PrimitiveService;
Expand All @@ -28,10 +28,10 @@
/** /**
* Consistent tree map primitive type. * Consistent tree map primitive type.
*/ */
public class AtomicTreeMapType<K extends Comparable<K>, V> public class AtomicNavigableMapType<K extends Comparable<K>, V>
implements PrimitiveType<AtomicTreeMapBuilder<K, V>, AtomicTreeMapConfig, AtomicTreeMap<K, V>> { implements PrimitiveType<AtomicNavigableMapBuilder<K, V>, AtomicNavigableMapConfig, AtomicNavigableMap<K, V>> {
private static final String NAME = "atomic-tree-map"; private static final String NAME = "atomic-tree-map";
private static final AtomicTreeMapType INSTANCE = new AtomicTreeMapType(); private static final AtomicNavigableMapType INSTANCE = new AtomicNavigableMapType();


/** /**
* Returns a new consistent tree map type. * Returns a new consistent tree map type.
Expand All @@ -41,7 +41,7 @@ public class AtomicTreeMapType<K extends Comparable<K>, V>
* @return a new consistent tree map type * @return a new consistent tree map type
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <K extends Comparable<K>, V> AtomicTreeMapType<K, V> instance() { public static <K extends Comparable<K>, V> AtomicNavigableMapType<K, V> instance() {
return INSTANCE; return INSTANCE;
} }


Expand All @@ -57,17 +57,17 @@ public Namespace namespace() {


@Override @Override
public PrimitiveService newService(ServiceConfig config) { public PrimitiveService newService(ServiceConfig config) {
return new DefaultAtomicTreeMapService(); return new DefaultAtomicNavigableMapService();
} }


@Override @Override
public AtomicTreeMapConfig newConfig() { public AtomicNavigableMapConfig newConfig() {
return new AtomicTreeMapConfig(); return new AtomicNavigableMapConfig();
} }


@Override @Override
public AtomicTreeMapBuilder<K, V> newBuilder(String name, AtomicTreeMapConfig config, PrimitiveManagementService managementService) { public AtomicNavigableMapBuilder<K, V> newBuilder(String name, AtomicNavigableMapConfig config, PrimitiveManagementService managementService) {
return new DefaultAtomicTreeMapBuilder<>(name, config, managementService); return new DefaultAtomicNavigableMapBuilder<>(name, config, managementService);
} }


@Override @Override
Expand Down
25 changes: 0 additions & 25 deletions core/src/main/java/io/atomix/core/map/AtomicTreeMap.java

This file was deleted.

Expand Up @@ -19,24 +19,24 @@
import io.atomix.primitive.PrimitiveManagementService; import io.atomix.primitive.PrimitiveManagementService;


/** /**
* Builder for {@link DistributedTreeMap} instances. * Builder for {@link DistributedNavigableMap} instances.
* *
* @param <K> type for map key * @param <K> type for map key
* @param <V> type for map value * @param <V> type for map value
*/ */
public abstract class DistributedTreeMapBuilder<K extends Comparable<K>, V> public abstract class DistributedNavigableMapBuilder<K extends Comparable<K>, V>
extends CachedPrimitiveBuilder<DistributedTreeMapBuilder<K, V>, DistributedTreeMapConfig, DistributedTreeMap<K, V>> { extends CachedPrimitiveBuilder<DistributedNavigableMapBuilder<K, V>, DistributedNavigableMapConfig, DistributedNavigableMap<K, V>> {


public DistributedTreeMapBuilder(String name, DistributedTreeMapConfig config, PrimitiveManagementService managementService) { public DistributedNavigableMapBuilder(String name, DistributedNavigableMapConfig config, PrimitiveManagementService managementService) {
super(DistributedTreeMapType.instance(), name, config, managementService); super(DistributedNavigableMapType.instance(), name, config, managementService);
} }


/** /**
* Enables null values in the map. * Enables null values in the map.
* *
* @return this builder * @return this builder
*/ */
public DistributedTreeMapBuilder<K, V> withNullValues() { public DistributedNavigableMapBuilder<K, V> withNullValues() {
config.setNullValues(); config.setNullValues();
return this; return this;
} }
Expand All @@ -47,7 +47,7 @@ public DistributedTreeMapBuilder<K, V> withNullValues() {
* @param nullValues whether null values are allowed * @param nullValues whether null values are allowed
* @return this builder * @return this builder
*/ */
public DistributedTreeMapBuilder<K, V> withNullValues(boolean nullValues) { public DistributedNavigableMapBuilder<K, V> withNullValues(boolean nullValues) {
config.setNullValues(nullValues); config.setNullValues(nullValues);
return this; return this;
} }
Expand Down

0 comments on commit cadaa37

Please sign in to comment.