diff --git a/java/java-tests/testSrc/com/intellij/index/StringIndex.java b/java/java-tests/testSrc/com/intellij/index/StringIndex.java index 279d820082fe..eb443cf88db4 100644 --- a/java/java-tests/testSrc/com/intellij/index/StringIndex.java +++ b/java/java-tests/testSrc/com/intellij/index/StringIndex.java @@ -18,7 +18,6 @@ package com.intellij.index; import com.intellij.openapi.progress.ProgressManager; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.indexing.*; -import com.intellij.util.indexing.impl.BasicIndexId; import com.intellij.util.indexing.impl.IndexStorage; import com.intellij.util.indexing.impl.MapBasedForwardIndex; import com.intellij.util.indexing.impl.MapReduceIndex; @@ -48,7 +47,7 @@ public class StringIndex { final PersistentHashMap> inputIndex, boolean failOnRebuildRequest) throws IOException { - BasicIndexId id = BasicIndexId.create(testName + "string_index"); + IndexId id = IndexId.create(testName + "string_index"); IndexExtension extension = new IndexExtension() { @NotNull @Override diff --git a/jps/jps-builders/src/org/jetbrains/jps/backwardRefs/index/CompilerIndices.java b/jps/jps-builders/src/org/jetbrains/jps/backwardRefs/index/CompilerIndices.java index cc8cc684f997..4c0ada54d004 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/backwardRefs/index/CompilerIndices.java +++ b/jps/jps-builders/src/org/jetbrains/jps/backwardRefs/index/CompilerIndices.java @@ -17,7 +17,6 @@ package org.jetbrains.jps.backwardRefs.index; import com.intellij.openapi.util.io.DataInputOutputUtilRt; import com.intellij.util.indexing.*; -import com.intellij.util.indexing.impl.BasicIndexId; import com.intellij.util.io.DataExternalizer; import com.intellij.util.io.DataInputOutputUtil; import com.intellij.util.io.KeyDescriptor; @@ -38,10 +37,10 @@ public class CompilerIndices { //TODO manage version separately public final static int VERSION = 4; - public final static IndexId BACK_USAGES = BasicIndexId.create("back.refs"); - public final static IndexId> BACK_HIERARCHY = BasicIndexId.create("back.hierarchy"); - public final static IndexId BACK_CLASS_DEF = BasicIndexId.create("back.class.def"); - public final static IndexId> BACK_MEMBER_SIGN = BasicIndexId.create("back.member.sign"); + public final static IndexId BACK_USAGES = IndexId.create("back.refs"); + public final static IndexId> BACK_HIERARCHY = IndexId.create("back.hierarchy"); + public final static IndexId BACK_CLASS_DEF = IndexId.create("back.class.def"); + public final static IndexId> BACK_MEMBER_SIGN = IndexId.create("back.member.sign"); public static List> getIndices() { return Arrays.asList(createBackwardClassDefinitionExtension(), diff --git a/platform/core-api/src/com/intellij/util/indexing/ID.java b/platform/core-api/src/com/intellij/util/indexing/ID.java index e8cf9e1c1b4e..b6dda901cf96 100644 --- a/platform/core-api/src/com/intellij/util/indexing/ID.java +++ b/platform/core-api/src/com/intellij/util/indexing/ID.java @@ -31,12 +31,11 @@ import java.io.*; * @author Eugene Zhuravlev * Date: Feb 12, 2008 */ -public class ID implements IndexId { +public class ID extends IndexId { private static final ConcurrentIntObjectMap ourRegistry = ContainerUtil.createConcurrentIntObjectMap(); private static final TObjectIntHashMap ourNameToIdRegistry = new TObjectIntHashMap(); static final int MAX_NUMBER_OF_INDICES = Short.MAX_VALUE; - private final String myName; private final short myUniqueId; static { @@ -77,19 +76,13 @@ public class ID implements IndexId { } } - @NotNull - @Override - public String getName() { - return myName; - } - private static File getEnumFile() { final File indexFolder = PathManager.getIndexRoot(); return new File(indexFolder, "indices.enum"); } protected ID(String name) { - myName = name; + super(name); myUniqueId = stringToId(name); final ID old = ourRegistry.put(myUniqueId, this); diff --git a/platform/util/src/com/intellij/util/indexing/IndexId.java b/platform/util/src/com/intellij/util/indexing/IndexId.java index e99ba4bb9061..f1ae79f495cc 100644 --- a/platform/util/src/com/intellij/util/indexing/IndexId.java +++ b/platform/util/src/com/intellij/util/indexing/IndexId.java @@ -18,10 +18,36 @@ package com.intellij.util.indexing; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; -@SuppressWarnings("unused") @ApiStatus.Experimental -public interface IndexId { +public class IndexId { + @NotNull + private final String myName; + + protected IndexId(@NotNull String name) {myName = name;} @NotNull - String getName(); + public final String getName() { + return myName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + IndexId id = (IndexId)o; + + if (!myName.equals(id.myName)) return false; + + return true; + } + + @Override + public int hashCode() { + return myName.hashCode(); + } + + public static IndexId create(String name) { + return new IndexId(name); + } } diff --git a/platform/util/src/com/intellij/util/indexing/impl/BasicIndexId.java b/platform/util/src/com/intellij/util/indexing/impl/BasicIndexId.java deleted file mode 100644 index 05f6ad29033f..000000000000 --- a/platform/util/src/com/intellij/util/indexing/impl/BasicIndexId.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.util.indexing.impl; - -import com.intellij.util.indexing.IndexId; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; - -@ApiStatus.Experimental -public class BasicIndexId implements IndexId { - @NotNull - private final String myName; - - private BasicIndexId(@NotNull String name) {myName = name;} - - @NotNull - @Override - public String getName() { - return myName; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - BasicIndexId id = (BasicIndexId)o; - - if (!myName.equals(id.myName)) return false; - - return true; - } - - @Override - public int hashCode() { - return myName.hashCode(); - } - - public static BasicIndexId create(String name) { - return new BasicIndexId(name); - } -} diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/VcsLogFullDetailsIndex.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/VcsLogFullDetailsIndex.java index b3cc8c4fb786..61470653fda3 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/VcsLogFullDetailsIndex.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/VcsLogFullDetailsIndex.java @@ -59,7 +59,7 @@ public class VcsLogFullDetailsIndex implements Disposable { @NotNull FatalErrorHandler fatalErrorHandler, @NotNull Disposable disposableParent) throws IOException { - myID = BasicIndexId.create(name); + myID = IndexId.create(name); myName = name; myLogId = logId; myIndexer = indexer;