From 4185ccc416556de9872bf7f4d02402ce71cf0674 Mon Sep 17 00:00:00 2001 From: Anton Makeev Date: Wed, 9 Mar 2011 18:43:10 +0100 Subject: [PATCH] CIDR: ApplePlatform & AppleSdk refactored --- .../projectRoots/impl/MockJdkWrapper.java | 5 +++++ .../intellij/openapi/projectRoots/Sdk.java | 21 ++++++++++++------- .../projectRoots/impl/ProjectJdkImpl.java | 5 +++++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/openapi/projectRoots/impl/MockJdkWrapper.java b/java/compiler/impl/src/com/intellij/openapi/projectRoots/impl/MockJdkWrapper.java index e10139310ba2..48ab338af55c 100644 --- a/java/compiler/impl/src/com/intellij/openapi/projectRoots/impl/MockJdkWrapper.java +++ b/java/compiler/impl/src/com/intellij/openapi/projectRoots/impl/MockJdkWrapper.java @@ -55,10 +55,12 @@ public final class MockJdkWrapper implements Sdk { return StringUtil.trimEnd(homePath, File.separator); } + @NotNull public SdkType getSdkType() { return myDelegate.getSdkType(); } + @NotNull public String getName() { return myDelegate.getName(); } @@ -67,6 +69,7 @@ public final class MockJdkWrapper implements Sdk { return myDelegate.getVersionString(); } + @NotNull public RootProvider getRootProvider() { return myDelegate.getRootProvider(); } @@ -79,6 +82,7 @@ public final class MockJdkWrapper implements Sdk { myDelegate.putUserData(key, value); } + @NotNull public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException(); } @@ -87,6 +91,7 @@ public final class MockJdkWrapper implements Sdk { return null; } + @NotNull public SdkModificator getSdkModificator() { return null; } diff --git a/platform/lang-api/src/com/intellij/openapi/projectRoots/Sdk.java b/platform/lang-api/src/com/intellij/openapi/projectRoots/Sdk.java index 64c4e5df2d2c..81755117bb22 100644 --- a/platform/lang-api/src/com/intellij/openapi/projectRoots/Sdk.java +++ b/platform/lang-api/src/com/intellij/openapi/projectRoots/Sdk.java @@ -18,6 +18,7 @@ package com.intellij.openapi.projectRoots; import com.intellij.openapi.roots.RootProvider; import com.intellij.openapi.util.UserDataHolder; import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -25,24 +26,30 @@ import org.jetbrains.annotations.Nullable; * Date: Sep 23, 2004 */ public interface Sdk extends UserDataHolder { - + @NotNull SdkType getSdkType(); + @NotNull String getName(); @Nullable String getVersionString(); + @Nullable String getHomePath(); - RootProvider getRootProvider(); - - SdkAdditionalData getSdkAdditionalData(); - - SdkModificator getSdkModificator(); - @Nullable VirtualFile getHomeDirectory(); + @NotNull + RootProvider getRootProvider(); + + @NotNull + SdkModificator getSdkModificator(); + + @Nullable + SdkAdditionalData getSdkAdditionalData(); + + @NotNull Object clone() throws CloneNotSupportedException; } diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkImpl.java b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkImpl.java index 0d6a8f71780a..99f4e80cb80f 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkImpl.java @@ -71,6 +71,7 @@ public class ProjectJdkImpl extends UserDataHolderBase implements JDOMExternaliz myRootContainer.addProjectRootContainerListener(myRootProvider); } + @NotNull public SdkType getSdkType() { if (mySdkType == null) { mySdkType = ProjectJdkTable.getInstance().getDefaultSdkType(); @@ -78,6 +79,7 @@ public class ProjectJdkImpl extends UserDataHolderBase implements JDOMExternaliz return mySdkType; } + @NotNull public String getName() { return myName; } @@ -214,12 +216,14 @@ public class ProjectJdkImpl extends UserDataHolderBase implements JDOMExternaliz } } + @NotNull public Object clone() { ProjectJdkImpl newJdk = new ProjectJdkImpl("", mySdkType); copyTo(newJdk); return newJdk; } + @NotNull public RootProvider getRootProvider() { return myRootProvider; } @@ -303,6 +307,7 @@ public class ProjectJdkImpl extends UserDataHolderBase implements JDOMExternaliz } // SdkModificator implementation + @NotNull public SdkModificator getSdkModificator() { ProjectJdkImpl sdk = (ProjectJdkImpl)clone(); sdk.myOrigin = this;