replaced <code></code> with more concise {@code}
[idea/community.git] / plugins / ui-designer / src / com / intellij / uiDesigner / radComponents / RadComponent.java
index e99a16dd2c8a69fc8aa47b547ca080a05e6a5764..fcb44af6a69a40818e85bd1ba5edfab3ae50894d 100644 (file)
@@ -18,10 +18,7 @@ package com.intellij.uiDesigner.radComponents;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.project.Project;
-import com.intellij.uiDesigner.UIFormXmlConstants;
-import com.intellij.uiDesigner.XmlWriter;
-import com.intellij.uiDesigner.SwingProperties;
-import com.intellij.uiDesigner.StringDescriptorManager;
+import com.intellij.uiDesigner.*;
 import com.intellij.uiDesigner.compiler.Utils;
 import com.intellij.uiDesigner.core.GridConstraints;
 import com.intellij.uiDesigner.core.Util;
@@ -66,7 +63,7 @@ public abstract class RadComponent implements IComponent {
   public static final RadComponent[] EMPTY_ARRAY = new RadComponent[]{};
   /**
    * Using this constant as client property of the Swing component
-   * you can find corresponding <code>RadComponent</code>
+   * you can find corresponding {@code RadComponent}
    */
   @NonNls
   public static final String CLIENT_PROP_RAD_COMPONENT = "radComponent";
@@ -96,7 +93,8 @@ public abstract class RadComponent implements IComponent {
   private boolean myCustomCreate = false;
   private boolean myLoadingProperties = false;
 
-  @NotNull private final Module myModule;
+  private final ModuleProvider myModule;
+
   @NotNull private final Class myClass;
   /**
    * Delegee is the JComponent which really represents the
@@ -104,9 +102,9 @@ public abstract class RadComponent implements IComponent {
    */
   @NotNull private final JComponent myDelegee;
   /**
-   * Parent RadContainer. This field is always not <code>null</code>
+   * Parent RadContainer. This field is always not {@code null}
    * is the component is in hierarchy. But the root of hierarchy
-   * has <code>null</code> parent indeed.
+   * has {@code null} parent indeed.
    */
   private RadContainer myParent;
   /**
@@ -131,21 +129,21 @@ public abstract class RadComponent implements IComponent {
   private boolean myDefaultBinding;
 
   /**
-   * Creates new <code>RadComponent</code> with the specified
+   * Creates new {@code RadComponent} with the specified
    * class of delegee and specified ID.
    *
    * @param aClass class of the compoent's delegee
-   * @param id     id of the compoent inside the form. <code>id</code>
+   * @param id     id of the compoent inside the form. {@code id}
    *               should be a unique atring inside the form.
    */
-  public RadComponent(final Module module, @NotNull final Class aClass, @NotNull final String id) {
+  public RadComponent(final ModuleProvider module, @NotNull final Class aClass, @NotNull final String id) {
     myModule = module;
     myClass = aClass;
     myId = id;
 
     myChangeSupport = new PropertyChangeSupport(this);
     myConstraints = new GridConstraints();
-    myModifiedPropertyNames = new HashSet<String>();
+    myModifiedPropertyNames = new HashSet<>();
 
     Constructor constructor;
     try {
@@ -172,7 +170,7 @@ public abstract class RadComponent implements IComponent {
     myDelegee.putClientProperty(CLIENT_PROP_RAD_COMPONENT, this);
   }
 
-  public RadComponent(final Module module, @NotNull final Class aClass, @NotNull final String id, final Palette palette) {
+  public RadComponent(final ModuleProvider module, @NotNull final Class aClass, @NotNull final String id, final Palette palette) {
     this(module, aClass, id);
     myPalette = palette;
   }
@@ -181,16 +179,15 @@ public abstract class RadComponent implements IComponent {
    * @return module for the component.
    */
   public final Module getModule() {
-    return myModule;
+    return myModule == null ? null : myModule.getModule();
   }
 
-  public boolean isLoadingProperties() {
-    return myLoadingProperties;
+  public final Project getProject() {
+    return myModule == null ? null : myModule.getProject();
   }
 
-  @NotNull
-  public final Project getProject() {
-    return myModule.getProject();
+  public boolean isLoadingProperties() {
+    return myLoadingProperties;
   }
 
   public Palette getPalette() {
@@ -260,7 +257,7 @@ public abstract class RadComponent implements IComponent {
   }
 
   /**
-   * @return Swing delegee component. The <code>RadComponent</code> has the same
+   * @return Swing delegee component. The {@code RadComponent} has the same
    *         delegee during all its life.
    */
   @NotNull
@@ -274,8 +271,8 @@ public abstract class RadComponent implements IComponent {
    *
    * @param x x in delegee coordinate system
    * @param y y in delegee coordinate system
-   * @return inplace property for the <code>RadComponent</code> if any.
-   *         The method returns <code>null</code> if the component doesn't have
+   * @return inplace property for the {@code RadComponent} if any.
+   *         The method returns {@code null} if the component doesn't have
    *         any inplace property. Please not the method can return different
    *         instances of the property for each invokation.
    */
@@ -553,7 +550,7 @@ public abstract class RadComponent implements IComponent {
   }
 
   /**
-   * Serializes component into the passed <code>writer</code>
+   * Serializes component into the passed {@code writer}
    */
   public abstract void write(XmlWriter writer);
 
@@ -630,7 +627,9 @@ public abstract class RadComponent implements IComponent {
   }
 
   private void writeClientProperties(final XmlWriter writer) {
-    if (myModule == null) return;
+    if (myModule == null) {
+      return;
+    }
     boolean haveClientProperties = false;
     try {
       ClientPropertiesProperty cpp = ClientPropertiesProperty.getInstance(getProject());
@@ -662,7 +661,7 @@ public abstract class RadComponent implements IComponent {
 
   public IProperty[] getModifiedProperties() {
     IntrospectedProperty[] props = getPalette().getIntrospectedProperties(this);
-    ArrayList<IProperty> result = new ArrayList<IProperty>();
+    ArrayList<IProperty> result = new ArrayList<>();
     for (IntrospectedProperty prop : props) {
       if (isMarkedAsModified(prop)) {
         result.add(prop);
@@ -800,7 +799,7 @@ public abstract class RadComponent implements IComponent {
 
   @Nullable
   public String getComponentTitle() {
-    Palette palette = Palette.getInstance(getModule().getProject());
+    Palette palette = Palette.getInstance(getProject());
     IntrospectedProperty[] props = palette.getIntrospectedProperties(this);
     for (IntrospectedProperty prop : props) {
       if (prop.getName().equals(SwingProperties.TEXT) && prop instanceof IntroStringProperty) {