public boolean innerClassExtract() { return refactoring.getExtractedClass().getName().startsWith(refactoring.getOriginalClass().getName() + "."); }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getName()).append("\t"); sb.append(extractedClass); sb.append(" from class "); sb.append(originalClass); return sb.toString(); }
public String getName() { return this.getRefactoringType().getDisplayName(); }
innerClassExtract = true; detectSubRefactorings(candidate.getClassDiff(), candidate.getRefactoring().getExtractedClass(), candidate.getRefactoring().getRefactoringType()); refactorings.add(candidate.getRefactoring()); break; for(CandidateExtractClassRefactoring candidate : candidates) { detectSubRefactorings(candidate.getClassDiff(), candidate.getRefactoring().getExtractedClass(), candidate.getRefactoring().getRefactoringType()); refactorings.add(candidate.getRefactoring());
private ExtractClassRefactoring atLeastOneCommonAttributeOrOperation(UMLClass umlClass, UMLClassBaseDiff classDiff, UMLAttribute attributeOfExtractedClassType) { Set<UMLOperation> commonOperations = new LinkedHashSet<UMLOperation>(); for(UMLOperation operation : classDiff.getRemovedOperations()) { if(!operation.isConstructor() && !operation.overridesObject()) { if(umlClass.containsOperationWithTheSameSignatureIgnoringChangedTypes(operation)) { commonOperations.add(operation); } } } Set<UMLAttribute> commonAttributes = new LinkedHashSet<UMLAttribute>(); for(UMLAttribute attribute : classDiff.getRemovedAttributes()) { if(umlClass.containsAttributeWithTheSameNameIgnoringChangedType(attribute)) { commonAttributes.add(attribute); } } int threshold = 1; if(attributeOfExtractedClassType != null) threshold = 0; if(commonOperations.size() > threshold || commonAttributes.size() > threshold) { return new ExtractClassRefactoring(umlClass, classDiff.getNextClass(), commonOperations, commonAttributes, attributeOfExtractedClassType); } return null; }