public abstract class RemoteSdkFactoryImpl<T extends RemoteSdkAdditionalData> extends java.lang.Object implements RemoteSdkFactory<T>
Constructor and Description |
---|
RemoteSdkFactoryImpl() |
Modifier and Type | Method and Description |
---|---|
boolean |
canSaveUnfinished() |
Sdk |
createRemoteSdk(Project project,
T data,
java.lang.String sdkName,
java.util.Collection<Sdk> existingSdks) |
protected abstract ProjectJdkImpl |
createSdk(java.util.Collection<Sdk> existingSdks,
SdkType sdkType,
T data,
java.lang.String sdkName)
Creates new SDK.
|
Sdk |
createUnfinished(T data,
java.util.Collection<Sdk> existingSdks) |
java.lang.String |
generateSdkHomePath(T data) |
static java.lang.String |
getDefaultUnfinishedInterpreterName(java.lang.String sdkName)
Returns a name for "unfinished" SDK that is related to dynamically
interpreted language.
|
abstract java.lang.String |
getDefaultUnfinishedName()
Returns default name for "unfinished" SDK.
|
protected abstract java.lang.String |
getSdkName(T data,
java.lang.String version) |
protected abstract SdkType |
getSdkType(T data) |
protected abstract java.lang.String |
getSdkVersion(Project project,
T data) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
initSdk, sdkName
public Sdk createRemoteSdk(Project project, T data, java.lang.String sdkName, java.util.Collection<Sdk> existingSdks) throws RemoteSdkException
createRemoteSdk
in interface RemoteSdkFactory<T extends RemoteSdkAdditionalData>
RemoteSdkException
public java.lang.String generateSdkHomePath(T data)
generateSdkHomePath
in interface RemoteSdkFactory<T extends RemoteSdkAdditionalData>
protected abstract java.lang.String getSdkName(T data, java.lang.String version) throws RemoteSdkException
RemoteSdkException
protected abstract java.lang.String getSdkVersion(Project project, T data) throws RemoteSdkException
RemoteSdkException
public Sdk createUnfinished(T data, java.util.Collection<Sdk> existingSdks)
createUnfinished
in interface RemoteSdkFactory<T extends RemoteSdkAdditionalData>
protected abstract ProjectJdkImpl createSdk(java.util.Collection<Sdk> existingSdks, SdkType sdkType, T data, java.lang.String sdkName)
Note that this method is introduced because of the unavailability of
SdkConfigurationUtil.createSdk()
.
existingSdks
- the existing SDKssdkType
- the type of SDKdata
- the additional data of SDKsdkName
- the name of SDKpublic abstract java.lang.String getDefaultUnfinishedName()
"Unfinished" SDK is an SDK that has not yet been introspected or IDE failed to introspect it.
getDefaultUnfinishedName
in interface RemoteSdkFactory<T extends RemoteSdkAdditionalData>
public boolean canSaveUnfinished()
canSaveUnfinished
in interface RemoteSdkFactory<T extends RemoteSdkAdditionalData>
public static java.lang.String getDefaultUnfinishedInterpreterName(java.lang.String sdkName)
sdkName
- #getDefaultUnfinishedName()}