package com.freetmp.mbg.merge.declaration; import com.freetmp.mbg.merge.AbstractMerger; import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; /** * Created by LiuPin on 2015/3/27. */ public class ClassOrInterfaceDeclarationMerger extends AbstractMerger<ClassOrInterfaceDeclaration> { @Override public ClassOrInterfaceDeclaration doMerge(ClassOrInterfaceDeclaration first, ClassOrInterfaceDeclaration second) { ClassOrInterfaceDeclaration declaration = new ClassOrInterfaceDeclaration(); declaration.setInterface(first.isInterface()); declaration.setName(first.getName()); declaration.setModifiers(mergeModifiers(first.getModifiers(), second.getModifiers())); declaration.setJavaDoc(mergeSingle(first.getJavaDoc(), second.getJavaDoc())); declaration.setTypeParameters(mergeCollections(first.getTypeParameters(), second.getTypeParameters())); declaration.setImplements(mergeCollections(first.getImplements(), second.getImplements())); declaration.setExtends(mergeCollections(first.getExtends(), second.getExtends())); declaration.setAnnotations(mergeCollections(first.getAnnotations(), second.getAnnotations())); declaration.setMembers(mergeCollections(first.getMembers(), second.getMembers())); return declaration; } @Override public boolean doIsEquals(ClassOrInterfaceDeclaration first, ClassOrInterfaceDeclaration second) { if (first.getName().equals(second.getName())) return true; return false; } }