package com.github.jcgay.maven.color.core; import org.fusesource.jansi.Ansi; /** * Template to extends when customizing colors. <br> * * The default implementation is used when a method is not overridden. <br> * The {@link Ansi} returned must be created by calling the convenience method * {@link #ansi()} in your custom implementation. */ public abstract class CustomColorization implements Colorizer, ConfigurableColor { private DefaultColorConfiguration defaultColorConfiguration = new DefaultColorConfiguration(); private DefaultColorization defaultColor = new DefaultColorization(this); @Override public String colorize(String message) { return defaultColor.colorize(message); } @Override public Ansi onModuleHeader() { return defaultColorConfiguration.onModuleHeader(); } @Override public Ansi onPluginExecution() { return defaultColorConfiguration.onPluginExecution(); } @Override public Ansi onPluginExecutionModuleName() { return defaultColorConfiguration.onPluginExecutionModuleName(); } @Override public Ansi onSkipped() { return defaultColorConfiguration.onSkipped(); } @Override public Ansi onFailure() { return defaultColorConfiguration.onFailure(); } @Override public Ansi onSuccess() { return defaultColorConfiguration.onSuccess(); } @Override public Ansi onBuildFailure() { return defaultColorConfiguration.onBuildFailure(); } @Override public Ansi onBuildSuccess() { return defaultColorConfiguration.onBuildSuccess(); } protected final Ansi ansi() { return Ansi.ansi(); } }