• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2012 AndroidPlot.com
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 
17 package com.androidplot.ui;
18 
19 import com.androidplot.Series;
20 
21 import java.util.LinkedList;
22 import java.util.List;
23 
24 /**
25  * Associates a Series with a Formatter.
26  * @param <SeriesType>
27  * @param <FormatterType>
28  */
29 public class SeriesAndFormatterList<SeriesType extends Series, FormatterType> {
30     private LinkedList<SeriesType> seriesList;
31     private LinkedList<FormatterType> formatterList;
32     {
33         seriesList = new LinkedList<SeriesType>();
34         formatterList = new LinkedList<FormatterType>();
35     }
36 
contains(SeriesType series)37     public boolean contains(SeriesType series) {
38         return seriesList.contains(series);
39     }
40 
size()41     public int size() {
42         return seriesList.size();
43     }
44 
getSeriesList()45     public List<SeriesType> getSeriesList() {
46         return seriesList;
47     }
48 
getFormatterList()49     public List<FormatterType> getFormatterList() {
50         return formatterList;
51     }
52 
add(SeriesType series, FormatterType formatter)53     public boolean add(SeriesType series, FormatterType formatter) {
54         if(series == null || formatter == null) {
55             throw new IllegalArgumentException("series and formatter must not be null.");
56         }
57         if(seriesList.contains(series)) {
58             return false;
59         }
60         seriesList.add(series);
61         formatterList.add(formatter);
62         return true;
63     }
64 
remove(SeriesType series)65     public boolean remove(SeriesType series) {
66         int index = seriesList.indexOf(series);
67         if(index < 0) {
68             return false;
69         }
70         seriesList.remove(index);
71         formatterList.remove(index);
72         return true;
73     }
74 
75 
getFormatter(SeriesType series)76     public FormatterType getFormatter(SeriesType series) {
77         return formatterList.get(seriesList.indexOf(series));
78     }
79 
getFormatter(int index)80     public FormatterType getFormatter(int index) {
81         return formatterList.get(index);
82     }
83 
getSeries(int index)84     public SeriesType getSeries(int index) {
85         return seriesList.get(index);
86     }
87 
setFormatter(SeriesType series, FormatterType formatter)88     public FormatterType setFormatter(SeriesType series, FormatterType formatter) {
89         return formatterList.set(seriesList.indexOf(series), formatter);
90     }
91 }
92