001    /*
002     * Sonar, open source software quality management tool.
003     * Copyright (C) 2008-2012 SonarSource
004     * mailto:contact AT sonarsource DOT com
005     *
006     * Sonar is free software; you can redistribute it and/or
007     * modify it under the terms of the GNU Lesser General Public
008     * License as published by the Free Software Foundation; either
009     * version 3 of the License, or (at your option) any later version.
010     *
011     * Sonar is distributed in the hope that it will be useful,
012     * but WITHOUT ANY WARRANTY; without even the implied warranty of
013     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014     * Lesser General Public License for more details.
015     *
016     * You should have received a copy of the GNU Lesser General Public
017     * License along with Sonar; if not, write to the Free Software
018     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
019     */
020    package org.sonar.server.charts.deprecated;
021    
022    import org.jfree.chart.renderer.category.BarRenderer;
023    
024    import java.awt.*;
025    
026    public class CustomBarRenderer extends BarRenderer {
027    
028      public static final Paint[] COLORS = new Paint[]{Color.red, Color.blue, Color.green,
029          Color.yellow, Color.orange, Color.cyan,
030          Color.magenta, Color.blue};
031    
032      /**
033       * The colors.
034       */
035      private Paint[] colors;
036    
037      /**
038       * Creates a new renderer.
039       *
040       * @param colors the colors.
041       */
042      public CustomBarRenderer(final Paint[] colors) {
043        this.colors = colors;
044      }
045    
046      /**
047       * Returns the paint for an item.  Overrides the default behaviour inherited from
048       * AbstractSeriesRenderer.
049       *
050       * @param row    the series.
051       * @param column the category.
052       * @return The item color.
053       */
054      @Override
055      public Paint getItemPaint(final int row, final int column) {
056        return this.colors[column % this.colors.length];
057      }
058    
059      public Paint[] getColors() {
060        return colors;
061      }
062    
063      public void setColors(Paint[] colors) {
064        this.colors = colors;
065      }
066    
067    }