package com.intellij.codeInspection; import com.intellij.util.ArrayUtil; import com.intellij.util.FunctionUtil; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * User: anna * Date: 04-Jan-2006 */ public class CommonProblemDescriptorImpl implements CommonProblemDescriptor { private final QuickFix[] myFixes; private final String myDescriptionTemplate; public CommonProblemDescriptorImpl(final QuickFix[] fixes, @NotNull final String descriptionTemplate) { if (fixes == null) { myFixes = null; } else if (fixes.length == 0) { myFixes = QuickFix.EMPTY_ARRAY; } else { // no copy in most cases myFixes = ArrayUtil.contains(null, fixes) ? ContainerUtil.mapNotNull(fixes, FunctionUtil.<QuickFix>id(), QuickFix.EMPTY_ARRAY) : fixes; } myDescriptionTemplate = descriptionTemplate; } @Override @NotNull public String getDescriptionTemplate() { return myDescriptionTemplate; } @Override @Nullable public QuickFix[] getFixes() { return myFixes; } public String toString() { return myDescriptionTemplate; } }