mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-19061 Integrate the Rearranger-plugin into core-IDEA
*) IRule -> Rule; *) IRuleInstance -> RuleInstance; *) IFilePopupEntry -> FilePopupEntry;
This commit is contained in:
@@ -43,7 +43,7 @@ import com.wrq.rearranger.popup.LiveRearrangerDialog;
|
||||
import com.wrq.rearranger.popup.LiveRearrangerPopup;
|
||||
import com.wrq.rearranger.rearrangement.Mover;
|
||||
import com.wrq.rearranger.rearrangement.Parser;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.CommentUtil;
|
||||
|
||||
@@ -196,7 +196,7 @@ public final class LiveRearrangerActionHandler
|
||||
final List<ClassContentsEntry> outerClasses = p.parseOuterLevel();
|
||||
if (outerClasses.size() > 0) {
|
||||
final Mover mover = new Mover(outerClasses, settings);
|
||||
final List<IRuleInstance> resultRuleInstances = mover.rearrangeOuterClasses();
|
||||
final List<RuleInstance> resultRuleInstances = mover.rearrangeOuterClasses();
|
||||
fsp.setResultRuleInstances(resultRuleInstances);
|
||||
fsp.liveRearranger();
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.rearrangement.Mover;
|
||||
import com.wrq.rearranger.rearrangement.Parser;
|
||||
import com.wrq.rearranger.rearrangement.Spacer;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.CommentUtil;
|
||||
|
||||
@@ -173,7 +173,7 @@ public final class RearrangerActionHandler extends EditorActionHandler {
|
||||
final List<ClassContentsEntry> outerClasses = p.parseOuterLevel();
|
||||
if (outerClasses.size() > 0) {
|
||||
final Mover m = new Mover(outerClasses, settings);
|
||||
final List<IRuleInstance> resultRuleInstances = m.rearrangeOuterClasses();
|
||||
final List<RuleInstance> resultRuleInstances = m.rearrangeOuterClasses();
|
||||
boolean rearrange = true;
|
||||
if (settings.isAskBeforeRearranging()) {
|
||||
FileStructurePopup fsp = new FileStructurePopup(settings, resultRuleInstances, psiFile);
|
||||
|
||||
@@ -24,7 +24,7 @@ package com.wrq.rearranger.configuration;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.AttributeGroup;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IPrioritizableRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -98,7 +98,7 @@ public abstract class SettingsPane {
|
||||
|
||||
case PRIORITY_COLUMN:
|
||||
ChoicePanel cp = (modelData.get(rowIndex));
|
||||
IRule rule = cp.getChoice().getChoiceObject();
|
||||
Rule rule = cp.getChoice().getChoiceObject();
|
||||
return new Priority(rule.getPriority());
|
||||
|
||||
case DESCRIPTION_COLUMN:
|
||||
@@ -138,7 +138,7 @@ public abstract class SettingsPane {
|
||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||
if (columnIndex == PRIORITY_COLUMN && rowIndex >= 0) {
|
||||
ChoicePanel cp = (modelData.get(rowIndex));
|
||||
IRule rule = cp.getChoice().getChoiceObject();
|
||||
Rule rule = cp.getChoice().getChoiceObject();
|
||||
if (rule instanceof IPrioritizableRule) {
|
||||
return true;
|
||||
}
|
||||
@@ -149,7 +149,7 @@ public abstract class SettingsPane {
|
||||
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
|
||||
if (columnIndex == PRIORITY_COLUMN) {
|
||||
ChoicePanel cp = (modelData.get(rowIndex));
|
||||
IRule rule = cp.getChoice().getChoiceObject();
|
||||
Rule rule = cp.getChoice().getChoiceObject();
|
||||
if (rule instanceof IPrioritizableRule) {
|
||||
int priority;
|
||||
try {
|
||||
|
||||
@@ -23,7 +23,7 @@ package com.wrq.rearranger.entry;
|
||||
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiField;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.popup.RearrangerTreeNode;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
|
||||
@@ -35,7 +35,7 @@ import javax.swing.tree.DefaultMutableTreeNode;
|
||||
*/
|
||||
public abstract class ClassContentsEntry
|
||||
extends RangeEntry
|
||||
implements IFilePopupEntry
|
||||
implements FilePopupEntry
|
||||
{
|
||||
public ClassContentsEntry(final PsiElement start,
|
||||
final PsiElement end,
|
||||
|
||||
@@ -29,10 +29,10 @@ import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.searches.OverridingMethodsSearch;
|
||||
import com.intellij.util.Query;
|
||||
import com.wrq.rearranger.ModifierConstants;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.rearrangement.GenericRearranger;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.ModifierUtils;
|
||||
|
||||
@@ -50,12 +50,12 @@ import java.util.List;
|
||||
*/
|
||||
public class ClassEntry
|
||||
extends ClassContentsEntry
|
||||
implements IFilePopupEntry
|
||||
implements FilePopupEntry
|
||||
{
|
||||
private static final Logger LOG = Logger.getInstance("#" + ClassEntry.class.getName());
|
||||
|
||||
protected final List<ClassContentsEntry> contents;
|
||||
private List<IRuleInstance> resultRuleInstances;
|
||||
private List<RuleInstance> myResultRuleInstances;
|
||||
private final RearrangerSettings settings;
|
||||
private final int nestingLevel;
|
||||
|
||||
@@ -69,7 +69,7 @@ public class ClassEntry
|
||||
{
|
||||
super(start, end, modifiers, modifierString, name, "");
|
||||
contents = new ArrayList<ClassContentsEntry>();
|
||||
resultRuleInstances = null;
|
||||
myResultRuleInstances = null;
|
||||
this.settings = settings;
|
||||
this.nestingLevel = nestingLevel;
|
||||
}
|
||||
@@ -501,7 +501,7 @@ public class ClassEntry
|
||||
DefaultMutableTreeNode result = super.addToPopupTree(parent, settings);
|
||||
// now add class contents, if any
|
||||
if (getResultRuleInstances() != null) {
|
||||
for (IRuleInstance instance : getResultRuleInstances()) {
|
||||
for (RuleInstance instance : getResultRuleInstances()) {
|
||||
instance.addRuleInstanceToPopupTree(result, settings);
|
||||
}
|
||||
}
|
||||
@@ -540,14 +540,14 @@ public class ClassEntry
|
||||
settings)
|
||||
{
|
||||
public void rearrangeRelatedItems(List<ClassContentsEntry> entries,
|
||||
List<IRuleInstance> ruleInstanceList)
|
||||
List<RuleInstance> ruleInstanceList)
|
||||
{
|
||||
for (IRuleInstance ruleInstance : ruleInstanceList) {
|
||||
for (RuleInstance ruleInstance : ruleInstanceList) {
|
||||
ruleInstance.rearrangeRuleItems(entries, settings);
|
||||
}
|
||||
}
|
||||
};
|
||||
resultRuleInstances = classContentsRearranger.rearrangeEntries();
|
||||
myResultRuleInstances = classContentsRearranger.rearrangeEntries();
|
||||
}
|
||||
|
||||
private void buildMethodCallGraph() {
|
||||
@@ -569,8 +569,8 @@ public class ClassEntry
|
||||
return contents;
|
||||
}
|
||||
|
||||
public List<IRuleInstance> getResultRuleInstances() {
|
||||
return resultRuleInstances;
|
||||
public List<RuleInstance> getResultRuleInstances() {
|
||||
return myResultRuleInstances;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,13 +27,13 @@ import com.intellij.psi.*;
|
||||
import com.wrq.rearranger.ModifierConstants;
|
||||
import com.wrq.rearranger.popup.RearrangerTreeNode;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.CommentRule;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.RelatedMethodsSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IHasGetterSetterDefinition;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRestrictMethodExtraction;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import com.wrq.rearranger.util.CommentUtil;
|
||||
import com.wrq.rearranger.util.MethodUtil;
|
||||
|
||||
@@ -146,7 +146,7 @@ public class MethodEntry
|
||||
* @param ruleInstance Rule containing parents (callers) of potentially related methods
|
||||
*/
|
||||
public static void rearrangeRelatedItems(List<ClassContentsEntry> entries,
|
||||
IRuleInstance ruleInstance,
|
||||
RuleInstance ruleInstance,
|
||||
RelatedMethodsSettings rms)
|
||||
{
|
||||
List<RangeEntry> parentEntries = new ArrayList<RangeEntry>(ruleInstance.getMatches());
|
||||
@@ -161,7 +161,7 @@ public class MethodEntry
|
||||
}
|
||||
}
|
||||
for (MethodEntry theSetter : me.correspondingGetterSetters) {
|
||||
final IRuleInstance theRule = theSetter.getMatchedRule();
|
||||
final RuleInstance theRule = theSetter.getMatchedRule();
|
||||
LOG.debug(
|
||||
"rearrangeRelatedItems: for getter method " +
|
||||
me +
|
||||
@@ -680,7 +680,7 @@ public class MethodEntry
|
||||
settings.getDefaultGSDefinition()
|
||||
)
|
||||
);
|
||||
for (IRule rule : settings.getItemOrderAttributeList()) {
|
||||
for (Rule rule : settings.getItemOrderAttributeList()) {
|
||||
if (rule instanceof IRestrictMethodExtraction) {
|
||||
if (rule.isMatch(this)) {
|
||||
if (((IRestrictMethodExtraction)rule).isNoExtractedMethods()) {
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.wrq.rearranger.popup.RearrangerTreeNode;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.CommentUtil;
|
||||
|
||||
@@ -51,7 +51,7 @@ abstract public class RangeEntry implements IPopupTreeRangeEntry {
|
||||
private final boolean fixedHeader;
|
||||
private final boolean fixedTrailer;
|
||||
private final String type;
|
||||
private IRuleInstance matchedRule;
|
||||
private RuleInstance myMatchedRule;
|
||||
private boolean separatorCommentPrecedes;
|
||||
|
||||
// --------------------------- CONSTRUCTORS ---------------------------
|
||||
@@ -100,12 +100,12 @@ abstract public class RangeEntry implements IPopupTreeRangeEntry {
|
||||
return end;
|
||||
}
|
||||
|
||||
public IRuleInstance getMatchedRule() {
|
||||
return matchedRule;
|
||||
public RuleInstance getMatchedRule() {
|
||||
return myMatchedRule;
|
||||
}
|
||||
|
||||
public void setMatchedRule(IRuleInstance matchedRule) {
|
||||
this.matchedRule = matchedRule;
|
||||
public void setMatchedRule(RuleInstance matchedRule) {
|
||||
this.myMatchedRule = matchedRule;
|
||||
}
|
||||
|
||||
public int getModifiers() {
|
||||
|
||||
+4
-2
@@ -22,18 +22,20 @@
|
||||
package com.wrq.rearranger.popup;
|
||||
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/** Interface implemented by objects which can appear as entries in the file structure popup. */
|
||||
public interface IFilePopupEntry {
|
||||
public interface FilePopupEntry {
|
||||
/** @return the name of the icon representing the popup entry's type of Java object (method, class, etc.) */
|
||||
String getTypeIconName();
|
||||
|
||||
/**
|
||||
* @return the names of the icon representing the protection level of the popup entry, and any other
|
||||
* icons (overrides/overriding/implements/implmenting).
|
||||
* icons (overrides/overriding/implements/implementing).
|
||||
*/
|
||||
@Nullable
|
||||
String[] getAdditionalIconNames();
|
||||
|
||||
/** @return a JLabel containing the text of the popup tree entry. */
|
||||
@@ -22,7 +22,7 @@
|
||||
package com.wrq.rearranger.popup;
|
||||
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
import com.wrq.rearranger.util.IconUtil;
|
||||
@@ -41,19 +41,19 @@ public class FileStructurePopup
|
||||
final PopupTreeComponent treeComponent;
|
||||
|
||||
public FileStructurePopup(RearrangerSettings settings,
|
||||
List<IRuleInstance> resultRuleInstances,
|
||||
final IFilePopupEntry psiFileEntry)
|
||||
List<RuleInstance> resultRuleInstances,
|
||||
final FilePopupEntry psiFileEntry)
|
||||
{
|
||||
this.settings = settings;
|
||||
treeComponent = new PopupTreeComponent(settings, resultRuleInstances, psiFileEntry);
|
||||
}
|
||||
|
||||
public FileStructurePopup(RearrangerSettings settings,
|
||||
List<IRuleInstance> resultRuleInstances,
|
||||
List<RuleInstance> resultRuleInstances,
|
||||
final PsiFile psiFile)
|
||||
{
|
||||
this.settings = settings;
|
||||
IFilePopupEntry psiFileEntry = new IFilePopupEntry() {
|
||||
FilePopupEntry psiFileEntry = new FilePopupEntry() {
|
||||
public String getTypeIconName() {
|
||||
return "ppFile";
|
||||
}
|
||||
@@ -305,7 +305,7 @@ public class FileStructurePopup
|
||||
|
||||
public static void main(String[] args) {
|
||||
final RearrangerSettings settings = new RearrangerSettings();
|
||||
IFilePopupEntry pf = new IFilePopupEntry() {
|
||||
FilePopupEntry pf = new FilePopupEntry() {
|
||||
public String getTypeIconName() {
|
||||
return "nodes/ppFile";
|
||||
}
|
||||
@@ -318,7 +318,7 @@ public class FileStructurePopup
|
||||
return new JLabel("FileName.java");
|
||||
}
|
||||
};
|
||||
FileStructurePopup fsp = new FileStructurePopup(settings, new ArrayList<IRuleInstance>(), pf);
|
||||
FileStructurePopup fsp = new FileStructurePopup(settings, new ArrayList<RuleInstance>(), pf);
|
||||
try {
|
||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
||||
}
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
*/
|
||||
package com.wrq.rearranger.popup;
|
||||
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ILiveRearranger {
|
||||
void setRearrangementOccurred(boolean rearrangementOccurred);
|
||||
|
||||
void setResultRuleInstances(List<IRuleInstance> resultRuleInstances);
|
||||
void setResultRuleInstances(List<RuleInstance> resultRuleInstances);
|
||||
|
||||
void liveRearranger();
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.wrq.rearranger.LiveRearrangerActionHandler;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
import com.wrq.rearranger.util.IconUtil;
|
||||
@@ -48,11 +48,11 @@ public class LiveRearrangerDialog
|
||||
private static final Logger LOG = Logger.getInstance("#" + LiveRearrangerDialog.class.getName());
|
||||
final RearrangerSettings settings;
|
||||
PopupTreeComponent treeComponent;
|
||||
List<IRuleInstance> resultRuleInstances;
|
||||
List<RuleInstance> myResultRuleInstances;
|
||||
final Window outerPanel;
|
||||
final Document document;
|
||||
final PsiFile psiFile;
|
||||
IFilePopupEntry psiFileEntry;
|
||||
FilePopupEntry myPsiFileEntry;
|
||||
TreeDragSource tds;
|
||||
TreeDropTarget tdt;
|
||||
boolean rearrangementOccurred = false;
|
||||
@@ -61,7 +61,7 @@ public class LiveRearrangerDialog
|
||||
private PopupTree popupTree;
|
||||
|
||||
private void createFilePopupEntry(final PsiFile psiFile) {
|
||||
psiFileEntry = new IFilePopupEntry() {
|
||||
myPsiFileEntry = new FilePopupEntry() {
|
||||
public String getTypeIconName() {
|
||||
return "nodes/ppFile";
|
||||
}
|
||||
@@ -91,9 +91,9 @@ public class LiveRearrangerDialog
|
||||
this.rearrangementOccurred = rearrangementOccurred;
|
||||
}
|
||||
|
||||
public void setResultRuleInstances(List<IRuleInstance> resultRuleInstances) {
|
||||
this.resultRuleInstances = resultRuleInstances;
|
||||
treeComponent = new PopupTreeComponent(settings, resultRuleInstances, psiFileEntry);
|
||||
public void setResultRuleInstances(List<RuleInstance> resultRuleInstances) {
|
||||
this.myResultRuleInstances = resultRuleInstances;
|
||||
treeComponent = new PopupTreeComponent(settings, resultRuleInstances, myPsiFileEntry);
|
||||
}
|
||||
|
||||
/** Display a live rearrangement window. */
|
||||
@@ -125,7 +125,7 @@ public class LiveRearrangerDialog
|
||||
}
|
||||
LOG.debug("rearranging document");
|
||||
if (document != null) {
|
||||
final Emitter e = new Emitter(psiFile, resultRuleInstances, document);
|
||||
final Emitter e = new Emitter(psiFile, myResultRuleInstances, document);
|
||||
e.emitRearrangedDocument();
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.intellij.psi.PsiFile;
|
||||
import com.wrq.rearranger.LiveRearrangerActionHandler;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.IconUtil;
|
||||
|
||||
@@ -55,11 +55,11 @@ public class LiveRearrangerPopup
|
||||
private static final Logger LOG = Logger.getInstance("#" + LiveRearrangerPopup.class.getName());
|
||||
final RearrangerSettings settings;
|
||||
PopupTreeComponent treeComponent;
|
||||
List<IRuleInstance> resultRuleInstances;
|
||||
List<RuleInstance> myResultRuleInstances;
|
||||
final Window outerPanel;
|
||||
final Document document;
|
||||
final PsiFile psiFile;
|
||||
IFilePopupEntry psiFileEntry;
|
||||
FilePopupEntry myPsiFileEntry;
|
||||
private WindowFocusListener windowFocusListener;
|
||||
private WindowAdapter windowAdapter;
|
||||
private MouseAdapter mouseAdapter;
|
||||
@@ -79,7 +79,7 @@ public class LiveRearrangerPopup
|
||||
boolean sawKeyPressed = false;
|
||||
|
||||
public LiveRearrangerPopup(RearrangerSettings settings,
|
||||
final IFilePopupEntry psiFileEntry,
|
||||
final FilePopupEntry psiFileEntry,
|
||||
Window outerPanel,
|
||||
Document document,
|
||||
Project project)
|
||||
@@ -87,14 +87,14 @@ public class LiveRearrangerPopup
|
||||
LOG.debug("entered LiveRearrangerPopup constructor");
|
||||
this.settings = settings;
|
||||
this.outerPanel = outerPanel;
|
||||
this.psiFileEntry = psiFileEntry;
|
||||
this.myPsiFileEntry = psiFileEntry;
|
||||
this.document = document;
|
||||
this.psiFile = null;
|
||||
this.project = project;
|
||||
}
|
||||
|
||||
private void createFilePopupEntry(final PsiFile psiFile) {
|
||||
psiFileEntry = new IFilePopupEntry() {
|
||||
myPsiFileEntry = new FilePopupEntry() {
|
||||
public String getTypeIconName() {
|
||||
return "nodes/ppFile";
|
||||
}
|
||||
@@ -166,9 +166,9 @@ public class LiveRearrangerPopup
|
||||
this.rearrangementOccurred = rearrangementOccurred;
|
||||
}
|
||||
|
||||
public void setResultRuleInstances(List<IRuleInstance> resultRuleInstances) {
|
||||
this.resultRuleInstances = resultRuleInstances;
|
||||
treeComponent = new PopupTreeComponent(settings, resultRuleInstances, psiFileEntry);
|
||||
public void setResultRuleInstances(List<RuleInstance> resultRuleInstances) {
|
||||
this.myResultRuleInstances = resultRuleInstances;
|
||||
treeComponent = new PopupTreeComponent(settings, resultRuleInstances, myPsiFileEntry);
|
||||
}
|
||||
|
||||
/** Display a live rearrangement window. */
|
||||
@@ -355,7 +355,7 @@ public class LiveRearrangerPopup
|
||||
final Runnable task = new Runnable() {
|
||||
public void run() {
|
||||
if (document != null) {
|
||||
final Emitter e = new Emitter(psiFile, resultRuleInstances, document);
|
||||
final Emitter e = new Emitter(psiFile, myResultRuleInstances, document);
|
||||
e.emitRearrangedDocument();
|
||||
}
|
||||
}
|
||||
@@ -571,7 +571,7 @@ public class LiveRearrangerPopup
|
||||
// void testIt()
|
||||
// {
|
||||
final RearrangerSettings settings = new RearrangerSettings();
|
||||
IFilePopupEntry pf = new IFilePopupEntry() {
|
||||
FilePopupEntry pf = new FilePopupEntry() {
|
||||
public String getTypeIconName() {
|
||||
return "nodes/ppFile";
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ package com.wrq.rearranger.popup;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
@@ -195,7 +195,7 @@ public class PopupTree
|
||||
if (!before && dstIndex < peerParent.getChildCount()) {
|
||||
dstIndex++;
|
||||
}
|
||||
IRuleInstance ruleInstance = entry.getMatchedRule();
|
||||
RuleInstance ruleInstance = entry.getMatchedRule();
|
||||
DefaultTreeModel model = (DefaultTreeModel)getModel();
|
||||
|
||||
for (TreePath path : paths) {
|
||||
|
||||
@@ -23,7 +23,7 @@ package com.wrq.rearranger.popup;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.wrq.rearranger.Rearranger;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
import com.wrq.rearranger.util.IconUtil;
|
||||
@@ -45,18 +45,18 @@ import java.util.List;
|
||||
/** Builds a JTree that can be used in a file structure popup or live rearranger popup. */
|
||||
public class PopupTreeComponent {
|
||||
private static final Logger LOG = Logger.getInstance("#" + PopupTreeComponent.class.getName());
|
||||
private final IFilePopupEntry psiFileEntry;
|
||||
private final List<IRuleInstance> resultRuleInstances;
|
||||
private final FilePopupEntry myPsiFileEntry;
|
||||
private final List<RuleInstance> myResultRuleInstances;
|
||||
private final RearrangerSettings settings;
|
||||
private boolean rearrangementOccurred;
|
||||
|
||||
public PopupTreeComponent(RearrangerSettings settings,
|
||||
List<IRuleInstance> resultRuleInstances,
|
||||
final IFilePopupEntry psiFileEntry)
|
||||
List<RuleInstance> resultRuleInstances,
|
||||
final FilePopupEntry psiFileEntry)
|
||||
{
|
||||
this.settings = settings;
|
||||
this.resultRuleInstances = resultRuleInstances;
|
||||
this.psiFileEntry = psiFileEntry;
|
||||
this.myResultRuleInstances = resultRuleInstances;
|
||||
this.myPsiFileEntry = psiFileEntry;
|
||||
}
|
||||
|
||||
public boolean isRearrangementOccurred() {
|
||||
@@ -239,13 +239,13 @@ public class PopupTreeComponent {
|
||||
}
|
||||
|
||||
public DefaultMutableTreeNode createAllNodes() {
|
||||
DefaultMutableTreeNode top = new RearrangerTreeNode(psiFileEntry, "root");
|
||||
DefaultMutableTreeNode top = new RearrangerTreeNode(myPsiFileEntry, "root");
|
||||
createNodes(top);
|
||||
return top;
|
||||
}
|
||||
|
||||
private void createNodes(DefaultMutableTreeNode top) {
|
||||
for (IRuleInstance ruleInstance : resultRuleInstances) {
|
||||
for (RuleInstance ruleInstance : myResultRuleInstances) {
|
||||
ruleInstance.addRuleInstanceToPopupTree(top, settings);
|
||||
}
|
||||
}
|
||||
@@ -279,8 +279,8 @@ public class PopupTreeComponent {
|
||||
userObject = ((DefaultMutableTreeNode)value).getUserObject();
|
||||
}
|
||||
// obtain a component that will render the appropriate item.
|
||||
if (userObject instanceof IFilePopupEntry) {
|
||||
IFilePopupEntry entry = (IFilePopupEntry)userObject;
|
||||
if (userObject instanceof FilePopupEntry) {
|
||||
FilePopupEntry entry = (FilePopupEntry)userObject;
|
||||
final String iconTypeName = entry.getTypeIconName();
|
||||
final String[] iconNames = entry.getAdditionalIconNames();
|
||||
final JLabel textLabel = entry.getPopupEntryText(settings);
|
||||
|
||||
@@ -23,20 +23,20 @@ package com.wrq.rearranger.rearrangement;
|
||||
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/** Emits a new document from the rearranged entries. */
|
||||
public final class Emitter {
|
||||
private final PsiFile psiFile;
|
||||
private final List<IRuleInstance> resultRuleInstances;
|
||||
private final List<RuleInstance> myResultRuleInstances;
|
||||
private final Document document;
|
||||
private StringBuffer stringBuffer;
|
||||
|
||||
public Emitter(final PsiFile psiFile, final List<IRuleInstance> resultRuleInstances, final Document document) {
|
||||
public Emitter(final PsiFile psiFile, final List<RuleInstance> resultRuleInstances, final Document document) {
|
||||
this.psiFile = psiFile;
|
||||
this.resultRuleInstances = resultRuleInstances;
|
||||
this.myResultRuleInstances = resultRuleInstances;
|
||||
this.document = document;
|
||||
stringBuffer = new StringBuffer(psiFile.getText().length() + 100); // room for inserted blank lines
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public final class Emitter {
|
||||
}
|
||||
|
||||
public void emitRearrangedDocument() {
|
||||
emitRuleInstances(resultRuleInstances);
|
||||
emitRuleInstances(myResultRuleInstances);
|
||||
document.replaceString(
|
||||
psiFile.getTextRange().getStartOffset(),
|
||||
psiFile.getTextRange().getEndOffset(),
|
||||
@@ -58,11 +58,11 @@ public final class Emitter {
|
||||
);
|
||||
}
|
||||
|
||||
public void emitRuleInstances(List<IRuleInstance> resultRuleInstances) {
|
||||
public void emitRuleInstances(List<RuleInstance> resultRuleInstances) {
|
||||
if (resultRuleInstances == null) {
|
||||
return;
|
||||
}
|
||||
for (IRuleInstance ruleInstance : resultRuleInstances) {
|
||||
for (RuleInstance ruleInstance : resultRuleInstances) {
|
||||
ruleInstance.emit(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ import com.wrq.rearranger.entry.ClassEntry;
|
||||
import com.wrq.rearranger.entry.IRelatableEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.CommentRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.*;
|
||||
|
||||
@@ -40,7 +40,7 @@ public abstract class GenericRearranger {
|
||||
private static final Logger LOG = Logger.getInstance("#" + GenericRearranger.class.getName());
|
||||
private final List<AttributeGroup> rules;
|
||||
private final List<ClassContentsEntry> entries;
|
||||
private final List<IRuleInstance> resultRuleInstances;
|
||||
private final List<RuleInstance> myResultRuleInstances;
|
||||
private final int nestingLevel;
|
||||
private final RearrangerSettings settings;
|
||||
|
||||
@@ -54,7 +54,7 @@ public abstract class GenericRearranger {
|
||||
entries = outerClasses;
|
||||
this.nestingLevel = nestingLevel;
|
||||
this.settings = settings;
|
||||
resultRuleInstances = new ArrayList<IRuleInstance>(rules.size() + 4);
|
||||
myResultRuleInstances = new ArrayList<RuleInstance>(rules.size() + 4);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,8 +63,8 @@ public abstract class GenericRearranger {
|
||||
*
|
||||
* @return rearranged list of RangeEntry and CommentRuleInstance objects.
|
||||
*/
|
||||
public final List<IRuleInstance> rearrangeEntries() {
|
||||
final List<IRuleInstance> prioritizedRuleInstances = new ArrayList<IRuleInstance>();
|
||||
public final List<RuleInstance> rearrangeEntries() {
|
||||
final List<RuleInstance> prioritizedRuleInstances = new ArrayList<RuleInstance>();
|
||||
buildRuleInstanceLists(prioritizedRuleInstances);
|
||||
/**
|
||||
* recursively reorder contents of every nested ClassEntry.
|
||||
@@ -80,7 +80,7 @@ public abstract class GenericRearranger {
|
||||
* Move related methods together. Extracted methods and setters (emitted with getters)
|
||||
* were not moved by the rearrangement code ("MatchPrioritizedRules()") just above.
|
||||
*/
|
||||
rearrangeRelatedItems(entries, resultRuleInstances);
|
||||
rearrangeRelatedItems(entries, myResultRuleInstances);
|
||||
/**
|
||||
* Now go back and determine which comments are going to be emitted, based on their criteria and the
|
||||
* state of the immediately surrounding rules. Ignore inner classes if no rearrangement of inner
|
||||
@@ -89,19 +89,19 @@ public abstract class GenericRearranger {
|
||||
if (nestingLevel <= 1 || settings.isRearrangeInnerClasses()) {
|
||||
determineEmittedComments();
|
||||
}
|
||||
return resultRuleInstances;
|
||||
return myResultRuleInstances;
|
||||
}
|
||||
|
||||
/** For each comment rule instance, test its "emit" condition and set its emit flag appropriately. */
|
||||
private void determineEmittedComments() {
|
||||
for (int i = 0; i < resultRuleInstances.size(); i++) {
|
||||
if (resultRuleInstances.get(i) instanceof CommentRuleInstance) {
|
||||
final CommentRuleInstance ce = (CommentRuleInstance)resultRuleInstances.get(i);
|
||||
ce.determineEmit(resultRuleInstances, i);
|
||||
for (int i = 0; i < myResultRuleInstances.size(); i++) {
|
||||
if (myResultRuleInstances.get(i) instanceof CommentRuleInstance) {
|
||||
final CommentRuleInstance ce = (CommentRuleInstance)myResultRuleInstances.get(i);
|
||||
ce.determineEmit(myResultRuleInstances, i);
|
||||
if (ce.isEmit()) {
|
||||
// set the "separator comment preceding" flag on the next matching RangeEntry.
|
||||
for (int j = i + 1; j < resultRuleInstances.size(); j++) {
|
||||
IRuleInstance instance = resultRuleInstances.get(j);
|
||||
for (int j = i + 1; j < myResultRuleInstances.size(); j++) {
|
||||
RuleInstance instance = myResultRuleInstances.get(j);
|
||||
if (instance.hasMatches()) {
|
||||
RangeEntry entry = (instance.getMatches().get(0));
|
||||
entry.setSeparatorCommentPrecedes(true);
|
||||
@@ -122,9 +122,9 @@ public abstract class GenericRearranger {
|
||||
* @param prioritizedRules prioritized list of rules
|
||||
*/
|
||||
@SuppressWarnings({"StringContatenationInLoop"})
|
||||
private void matchPrioritizedRules(List<IRuleInstance> prioritizedRules) {
|
||||
for (IRuleInstance ruleInstance : prioritizedRules) {
|
||||
final IRule rule = ruleInstance.getRule();
|
||||
private void matchPrioritizedRules(List<RuleInstance> prioritizedRules) {
|
||||
for (RuleInstance ruleInstance : prioritizedRules) {
|
||||
final Rule rule = ruleInstance.getRule();
|
||||
final ListIterator entryIterator = entries.listIterator();
|
||||
while (entryIterator.hasNext()) {
|
||||
final RangeEntry entry = (RangeEntry)entryIterator.next();
|
||||
@@ -153,22 +153,22 @@ public abstract class GenericRearranger {
|
||||
*
|
||||
* @param prioritizedRuleInstances
|
||||
*/
|
||||
private void buildRuleInstanceLists(final List<IRuleInstance> prioritizedRuleInstances) {
|
||||
private void buildRuleInstanceLists(final List<RuleInstance> prioritizedRuleInstances) {
|
||||
/**
|
||||
* add a HeaderTrailerRuleInstance to pick up any headers that might exist.
|
||||
*/
|
||||
IRuleInstance hri = new HeaderRule().createRuleInstance();
|
||||
resultRuleInstances.add(hri);
|
||||
RuleInstance hri = new HeaderRule().createRuleInstance();
|
||||
myResultRuleInstances.add(hri);
|
||||
prioritizedRuleInstances.add(hri);
|
||||
for (IRule rule : rules) {
|
||||
IRuleInstance instance = rule.createRuleInstance();
|
||||
resultRuleInstances.add(instance);
|
||||
for (Rule rule : rules) {
|
||||
RuleInstance instance = rule.createRuleInstance();
|
||||
myResultRuleInstances.add(instance);
|
||||
/**
|
||||
* now insert the rule instance into the prioritized list; highest priority first; stable insertion.
|
||||
*/
|
||||
boolean inserted = false;
|
||||
for (int i = prioritizedRuleInstances.size() - 1; i >= 0; i--) {
|
||||
IRuleInstance entry = (prioritizedRuleInstances.get(i));
|
||||
RuleInstance entry = (prioritizedRuleInstances.get(i));
|
||||
if (rule.getPriority() <= entry.getRule().getPriority()) {
|
||||
prioritizedRuleInstances.add(i + 1, instance);
|
||||
inserted = true;
|
||||
@@ -180,12 +180,12 @@ public abstract class GenericRearranger {
|
||||
}
|
||||
}
|
||||
// now add a default rule to pick up all unmatched items.
|
||||
IRuleInstance defaultRuleInstance = new DefaultRule().createRuleInstance();
|
||||
resultRuleInstances.add(defaultRuleInstance);
|
||||
RuleInstance defaultRuleInstance = new DefaultRule().createRuleInstance();
|
||||
myResultRuleInstances.add(defaultRuleInstance);
|
||||
prioritizedRuleInstances.add(defaultRuleInstance);
|
||||
// finally, add a TrailerRuleInstance to pick up any leftover text.
|
||||
IRuleInstance tri = new TrailerRule().createRuleInstance();
|
||||
resultRuleInstances.add(tri);
|
||||
RuleInstance tri = new TrailerRule().createRuleInstance();
|
||||
myResultRuleInstances.add(tri);
|
||||
prioritizedRuleInstances.add(tri);
|
||||
}
|
||||
|
||||
@@ -197,6 +197,6 @@ public abstract class GenericRearranger {
|
||||
* @param rearrangedEntries
|
||||
*/
|
||||
public abstract void rearrangeRelatedItems(List<ClassContentsEntry> entries,
|
||||
List<IRuleInstance> rearrangedEntries);
|
||||
List<RuleInstance> rearrangedEntries);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
package com.wrq.rearranger.rearrangement;
|
||||
|
||||
import com.wrq.rearranger.entry.ClassContentsEntry;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -40,7 +40,7 @@ public final class Mover {
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
public List<IRuleInstance> rearrangeOuterClasses() {
|
||||
public List<RuleInstance> rearrangeOuterClasses() {
|
||||
final GenericRearranger outerClassRearranger = new GenericRearranger(
|
||||
settings.getClassOrderAttributeList(),
|
||||
outerClasses,
|
||||
@@ -56,7 +56,7 @@ public final class Mover {
|
||||
@param rearrangedEntries
|
||||
*/
|
||||
public void rearrangeRelatedItems(List<ClassContentsEntry> entries,
|
||||
List<IRuleInstance> rearrangedEntries)
|
||||
List<RuleInstance> rearrangedEntries)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
@@ -23,11 +23,11 @@ package com.wrq.rearranger.ruleinstance;
|
||||
|
||||
import com.wrq.rearranger.entry.ClassContentsEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.CommentRule;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -38,8 +38,8 @@ import java.util.List;
|
||||
|
||||
/** Used to store a generated comment, and to determine if it should be emitted. */
|
||||
public abstract class CommentRuleInstance
|
||||
implements IRuleInstance,
|
||||
IFilePopupEntry
|
||||
implements RuleInstance,
|
||||
FilePopupEntry
|
||||
{
|
||||
protected final CommentRule commentRule;
|
||||
protected boolean emit;
|
||||
@@ -57,12 +57,12 @@ public abstract class CommentRuleInstance
|
||||
this.emit = emit;
|
||||
}
|
||||
|
||||
public IRule getRule() {
|
||||
public Rule getRule() {
|
||||
return commentRule;
|
||||
}
|
||||
|
||||
/** Determine if this comment, in this instance, should be emitted. */
|
||||
public abstract void determineEmit(List<IRuleInstance> resultRuleInstances, int startIndex);
|
||||
public abstract void determineEmit(List<RuleInstance> resultRuleInstances, int startIndex);
|
||||
|
||||
public boolean hasMatches() {
|
||||
return false; // a generated comment never matches any object
|
||||
@@ -152,7 +152,7 @@ public abstract class CommentRuleInstance
|
||||
* @return true if the match condition is met.
|
||||
*/
|
||||
@SuppressWarnings({"MethodParameterNamingConvention"})
|
||||
protected boolean match(final List<IRuleInstance> resultRuleInstances,
|
||||
protected boolean match(final List<RuleInstance> resultRuleInstances,
|
||||
final int nRules,
|
||||
final int direction,
|
||||
final int startIndex,
|
||||
@@ -167,7 +167,7 @@ public abstract class CommentRuleInstance
|
||||
if (!(resultRuleInstances.get(index) instanceof CommentRuleInstance)) {
|
||||
// this is a rule entry, not a comment.
|
||||
nRulesSeen++;
|
||||
final IRuleInstance ruleInstance = resultRuleInstances.get(index);
|
||||
final RuleInstance ruleInstance = resultRuleInstances.get(index);
|
||||
if (ruleInstance.hasMatches()) {
|
||||
if (!ANDing) {
|
||||
return true; // OR condition (any matching rule) met
|
||||
|
||||
@@ -26,12 +26,12 @@ import com.wrq.rearranger.entry.ClassContentsEntry;
|
||||
import com.wrq.rearranger.entry.IPopupTreeRangeEntry;
|
||||
import com.wrq.rearranger.entry.MethodEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.atomicAttributes.SortOptions;
|
||||
import com.wrq.rearranger.settings.attributeGroups.CommonAttributes;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
@@ -41,20 +41,21 @@ import java.util.List;
|
||||
|
||||
/** Handles basic Rule functions. */
|
||||
public abstract class CommonRuleInstance
|
||||
implements IRuleInstance,
|
||||
IFilePopupEntry
|
||||
implements RuleInstance,
|
||||
FilePopupEntry
|
||||
{
|
||||
private static final Logger LOG = Logger.getInstance("#" + CommonRuleInstance.class.getName());
|
||||
protected final IRule rule;
|
||||
|
||||
protected final Rule myRule;
|
||||
protected final List<RangeEntry> matchedItems;
|
||||
|
||||
public CommonRuleInstance(IRule rule) {
|
||||
this.rule = rule;
|
||||
public CommonRuleInstance(Rule rule) {
|
||||
myRule = rule;
|
||||
matchedItems = new ArrayList<RangeEntry>();
|
||||
}
|
||||
|
||||
public IRule getRule() {
|
||||
return rule;
|
||||
public Rule getRule() {
|
||||
return myRule;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,8 +64,8 @@ public abstract class CommonRuleInstance
|
||||
* @param entry
|
||||
*/
|
||||
public void addEntry(RangeEntry entry) {
|
||||
if (rule instanceof CommonAttributes) {
|
||||
SortOptions sortOptions = ((CommonAttributes)rule).getSortAttr();
|
||||
if (myRule instanceof CommonAttributes) {
|
||||
SortOptions sortOptions = ((CommonAttributes)myRule).getSortAttr();
|
||||
insertionSort(entry, sortOptions);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
*/
|
||||
package com.wrq.rearranger.ruleinstance;
|
||||
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
|
||||
/** Collects any remaining RangeEntries after all explicit rule matching is done. */
|
||||
public class DefaultRuleInstance extends CommonRuleInstance {
|
||||
public DefaultRuleInstance(IRule defaultRule) {
|
||||
public DefaultRuleInstance(Rule defaultRule) {
|
||||
super(defaultRule);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ public class EmitAlwaysCommentRuleInstance
|
||||
* Determine if this comment, in this instance, should be emitted.
|
||||
* For an "Emit Always" type of comment, it should always be emitted.
|
||||
*/
|
||||
public void determineEmit(List<IRuleInstance> resultRuleInstances, int startIndex) {
|
||||
public void determineEmit(List<RuleInstance> resultRuleInstances, int startIndex) {
|
||||
setEmit(true);
|
||||
}
|
||||
}
|
||||
|
||||
+15
-18
@@ -25,7 +25,7 @@ import com.wrq.rearranger.entry.ClassContentsEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import java.util.ArrayList;
|
||||
@@ -33,13 +33,13 @@ import java.util.List;
|
||||
|
||||
/** Instance to pick up header text. */
|
||||
public class HeaderTrailerRuleInstance
|
||||
implements IRuleInstance
|
||||
implements RuleInstance
|
||||
{
|
||||
private final IRule rule;
|
||||
private RangeEntry entry;
|
||||
private final Rule myRule;
|
||||
private RangeEntry myEntry;
|
||||
|
||||
public HeaderTrailerRuleInstance(IRule rule) {
|
||||
this.rule = rule;
|
||||
public HeaderTrailerRuleInstance(Rule rule) {
|
||||
myRule = rule;
|
||||
}
|
||||
|
||||
public boolean hasMatches() {
|
||||
@@ -48,34 +48,31 @@ public class HeaderTrailerRuleInstance
|
||||
|
||||
public List<RangeEntry> getMatches() {
|
||||
List<RangeEntry> list = null;
|
||||
if (entry != null) {
|
||||
if (myEntry != null) {
|
||||
list = new ArrayList<RangeEntry>();
|
||||
list.add(entry);
|
||||
list.add(myEntry);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public IRule getRule() {
|
||||
return rule;
|
||||
public Rule getRule() {
|
||||
return myRule;
|
||||
}
|
||||
|
||||
public void addEntry(RangeEntry entry) {
|
||||
this.entry = entry; // a header only has one entry
|
||||
this.myEntry = entry; // a header only has one entry
|
||||
}
|
||||
|
||||
public void emit(Emitter emitter) {
|
||||
if (entry != null) {
|
||||
entry.emit(emitter);
|
||||
if (myEntry != null) {
|
||||
myEntry.emit(emitter);
|
||||
}
|
||||
}
|
||||
|
||||
public void rearrangeRuleItems(List<ClassContentsEntry> entries,
|
||||
RearrangerSettings settings)
|
||||
{
|
||||
return;
|
||||
public void rearrangeRuleItems(List<ClassContentsEntry> entries, RearrangerSettings settings) {
|
||||
}
|
||||
|
||||
public void addRuleInstanceToPopupTree(DefaultMutableTreeNode node, RearrangerSettings settings) {
|
||||
return; // don't show header/trailer junk in popup tree
|
||||
// don't show header/trailer junk in popup tree
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
package com.wrq.rearranger.ruleinstance;
|
||||
|
||||
import com.wrq.rearranger.entry.MethodEntry;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.CommentRule;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
@@ -36,7 +36,7 @@ import java.util.List;
|
||||
|
||||
/** Corresponds to a single interface with one or more implementing methods. */
|
||||
public class InterfaceInstance
|
||||
implements IFilePopupEntry
|
||||
implements FilePopupEntry
|
||||
{
|
||||
// ------------------------------------------------------- FIELDS ------------------------------------------------------
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.wrq.rearranger.entry.MethodEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.InterfaceAttributes;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
@@ -44,7 +44,7 @@ public class InterfaceRuleInstance
|
||||
|
||||
// --------------------------- CONSTRUCTORS ---------------------------
|
||||
|
||||
public InterfaceRuleInstance(IRule rule) {
|
||||
public InterfaceRuleInstance(Rule rule) {
|
||||
super(rule);
|
||||
interfaceInstances = new ArrayList<InterfaceInstance>();
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class PrecedingCommentRuleInstance
|
||||
}
|
||||
|
||||
/** Determine if this comment, in this instance, should be emitted. */
|
||||
public void determineEmit(List<IRuleInstance> resultRuleInstances, int startIndex) {
|
||||
public void determineEmit(List<RuleInstance> resultRuleInstances, int startIndex) {
|
||||
if (match(
|
||||
resultRuleInstances,
|
||||
commentRule.getnPrecedingRulesToMatch(),
|
||||
|
||||
+5
-3
@@ -25,7 +25,8 @@ import com.wrq.rearranger.entry.ClassContentsEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.rearrangement.Emitter;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import java.util.List;
|
||||
@@ -34,11 +35,12 @@ import java.util.List;
|
||||
* One RuleInstance exists for every execution of every rule. An execution of a rule is the process by which
|
||||
* items are matched to a rule.
|
||||
*/
|
||||
public interface IRuleInstance {
|
||||
public interface RuleInstance {
|
||||
/** @return true if one or more items matched the rule in this instance. */
|
||||
boolean hasMatches();
|
||||
|
||||
/** @return list of items matching the rule in this instance. */
|
||||
@Nullable
|
||||
List<RangeEntry> getMatches();
|
||||
|
||||
/**
|
||||
@@ -49,7 +51,7 @@ public interface IRuleInstance {
|
||||
void emit(Emitter emitter);
|
||||
|
||||
/** @return the rule associated with this instance. */
|
||||
IRule getRule();
|
||||
Rule getRule();
|
||||
|
||||
/**
|
||||
* Adds an item to the list of items matching the rule in this instance. Order is preserved.
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class SubsequentCommentRuleInstance
|
||||
}
|
||||
|
||||
/** Determine if this comment, in this instance, should be emitted. */
|
||||
public void determineEmit(List<IRuleInstance> resultRuleInstances, int startIndex) {
|
||||
public void determineEmit(List<RuleInstance> resultRuleInstances, int startIndex) {
|
||||
if (match(
|
||||
resultRuleInstances,
|
||||
commentRule.getnSubsequentRulesToMatch(),
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class SurroundingCommentRuleInstance
|
||||
}
|
||||
|
||||
/** Determine if this comment, in this instance, should be emitted. */
|
||||
public void determineEmit(List<IRuleInstance> resultRuleInstances, int startIndex) {
|
||||
public void determineEmit(List<RuleInstance> resultRuleInstances, int startIndex) {
|
||||
if (match(
|
||||
resultRuleInstances,
|
||||
commentRule.getnPrecedingRulesToMatch(),
|
||||
|
||||
@@ -23,10 +23,10 @@ package com.wrq.rearranger.settings;
|
||||
|
||||
import com.wrq.rearranger.entry.IPopupTreeRangeEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.popup.IFilePopupEntry;
|
||||
import com.wrq.rearranger.popup.FilePopupEntry;
|
||||
import com.wrq.rearranger.popup.RearrangerTreeNode;
|
||||
import com.wrq.rearranger.ruleinstance.CommentRuleInstanceFactory;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.attributeGroups.AttributeGroup;
|
||||
import com.wrq.rearranger.settings.attributeGroups.RegexUtil;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
@@ -51,7 +51,7 @@ import java.util.List;
|
||||
public final class CommentRule
|
||||
implements AttributeGroup,
|
||||
IPopupTreeRangeEntry,
|
||||
IFilePopupEntry
|
||||
FilePopupEntry
|
||||
{
|
||||
// ------------------------------------------------------- FIELDS ------------------------------------------------------
|
||||
|
||||
@@ -464,7 +464,7 @@ public final class CommentRule
|
||||
// -------------------------------------------------- Interface IRule --------------------------------------------------
|
||||
|
||||
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return CommentRuleInstanceFactory.buildCommentRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ import org.jdom.Element;
|
||||
|
||||
/** Methods implemented by rule objects, which are saved in configuration. */
|
||||
public interface AttributeGroup
|
||||
extends IRule
|
||||
extends Rule
|
||||
{
|
||||
|
||||
// -------------------------- OTHER METHODS --------------------------
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.DefaultRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.atomicAttributes.*;
|
||||
import org.jdom.Element;
|
||||
@@ -116,7 +116,7 @@ public abstract class CommonAttributes
|
||||
|
||||
// --------------------- Interface IRule ---------------------
|
||||
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return new DefaultRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.DefaultRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -33,9 +33,9 @@ import java.util.List;
|
||||
* constant (unparsed) text.
|
||||
*/
|
||||
public class DefaultRule
|
||||
implements IRule
|
||||
implements Rule
|
||||
{
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return new DefaultRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,16 +23,16 @@ package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.HeaderTrailerRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/** A rule to match header text (text which does not constitute a matchable item such as a field or method.) */
|
||||
public class HeaderRule
|
||||
implements IRule
|
||||
implements Rule
|
||||
{
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return new HeaderTrailerRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.MethodEntry;
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.InterfaceRuleInstance;
|
||||
import com.wrq.rearranger.settings.CommentFillString;
|
||||
import com.wrq.rearranger.settings.CommentRule;
|
||||
@@ -136,7 +136,7 @@ public class InterfaceAttributes
|
||||
return priority;
|
||||
}
|
||||
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return new InterfaceRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -22,13 +22,13 @@
|
||||
package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/** Interface which all rules implement. */
|
||||
public interface IRule {
|
||||
IRuleInstance createRuleInstance();
|
||||
public interface Rule {
|
||||
RuleInstance createRuleInstance();
|
||||
|
||||
// all rules have a priority; but some are not settable by the user. Those that are user settable implement
|
||||
// the marker interface IPrioritizableRule.
|
||||
@@ -23,16 +23,16 @@ package com.wrq.rearranger.settings.attributeGroups;
|
||||
|
||||
import com.wrq.rearranger.entry.RangeEntry;
|
||||
import com.wrq.rearranger.ruleinstance.HeaderTrailerRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.IRuleInstance;
|
||||
import com.wrq.rearranger.ruleinstance.RuleInstance;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/** A rule to match header text (text which does not constitute a matchable item such as a field or method.) */
|
||||
public class TrailerRule
|
||||
implements IRule
|
||||
implements Rule
|
||||
{
|
||||
public IRuleInstance createRuleInstance() {
|
||||
public RuleInstance createRuleInstance() {
|
||||
return new HeaderTrailerRuleInstance(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
package com.wrq.rearranger.util;
|
||||
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -123,10 +123,10 @@ public class CommentUtil {
|
||||
|
||||
private void createCommentPatternList() {
|
||||
commentStrings = new ArrayList<String>();
|
||||
for (IRule rule : settings.getClassOrderAttributeList()) {
|
||||
for (Rule rule : settings.getClassOrderAttributeList()) {
|
||||
rule.addCommentPatternsToList(commentStrings);
|
||||
}
|
||||
for (IRule rule : settings.getItemOrderAttributeList()) {
|
||||
for (Rule rule : settings.getItemOrderAttributeList()) {
|
||||
rule.addCommentPatternsToList(commentStrings);
|
||||
}
|
||||
settings.getExtractedMethodsSettings().addCommentPatternsToList(commentStrings);
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.intellij.testFramework.LightCodeInsightTestCase;
|
||||
import com.wrq.rearranger.configuration.RearrangerSettingsPanel;
|
||||
import com.wrq.rearranger.settings.RearrangerSettings;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IPrioritizableRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.IRule;
|
||||
import com.wrq.rearranger.settings.attributeGroups.Rule;
|
||||
import com.wrq.rearranger.util.Constraints;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
@@ -143,7 +143,7 @@ public class InteractiveTest
|
||||
ListIterator li;
|
||||
for (Object o : object.settings.getClassOrderAttributeList()) {
|
||||
if (o instanceof IPrioritizableRule) {
|
||||
System.out.println(o + ", pri=" + ((IRule)o).getPriority());
|
||||
System.out.println(o + ", pri=" + ((Rule)o).getPriority());
|
||||
}
|
||||
else {
|
||||
System.out.println(o);
|
||||
@@ -152,7 +152,7 @@ public class InteractiveTest
|
||||
System.out.println("Item order");
|
||||
for (Object o : object.settings.getItemOrderAttributeList()) {
|
||||
if (o instanceof IPrioritizableRule) {
|
||||
System.out.println(o + ", pri=" + ((IRule)o).getPriority());
|
||||
System.out.println(o + ", pri=" + ((Rule)o).getPriority());
|
||||
}
|
||||
else {
|
||||
System.out.println(o);
|
||||
|
||||
Reference in New Issue
Block a user