SchemeManager — do not expose more than need, keep the same API as before

This commit is contained in:
Vladimir Krivosheev
2017-10-11 13:30:34 +02:00
parent 41dd07dca5
commit c8ad0341cb
4 changed files with 9 additions and 13 deletions
@@ -12,10 +12,7 @@ abstract class SchemeManagerBase<T : Any, in MUTABLE_SCHEME : T>(internal val pr
protected var currentPendingSchemeName: String? = null
override var currentScheme: T? = null
set(value) {
field = value
currentSchemeName = value?.let { processor.getSchemeKey(it) }
}
internal set
override var currentSchemeName: String?
get() = currentScheme?.let { processor.getSchemeKey(it) } ?: currentPendingSchemeName
@@ -63,10 +63,6 @@ public class EmptySchemesManager extends SchemeManager<Scheme> {
public void setCurrentSchemeName(@Nullable String schemeName, boolean notify) {
}
@Override
public void setCurrent(@Nullable Scheme scheme, boolean notify) {
}
@Override
public void setCurrentSchemeName(@Nullable String s) {
}
@@ -25,7 +25,7 @@ abstract class SchemeManager<T> {
open val isEmpty: Boolean
get() = allSchemes.isEmpty()
abstract var currentScheme: T?
abstract val currentScheme: T?
/**
* If schemes are lazy loaded, you can use this method to postpone scheme selection (scheme will be found by name on first use)
@@ -55,12 +55,10 @@ abstract class SchemeManager<T> {
abstract fun setCurrentSchemeName(schemeName: String?, notify: Boolean)
fun setCurrent(scheme: T?) {
setCurrent(scheme, true)
@JvmOverloads
open fun setCurrent(scheme: T?, notify: Boolean = true) {
}
abstract fun setCurrent(scheme: T?, notify: Boolean)
abstract fun removeScheme(scheme: T): Boolean
open fun removeScheme(name: String): T? {
@@ -0,0 +1,5 @@
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.options
class SchemeManagerBase {
}