View Javadoc

1   /**
2    * Copyright (C) 2008 Atlassian
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.atlassian.theplugin.idea.crucible.table.column;
18  
19  import com.atlassian.theplugin.idea.TableColumnInfo;
20  import com.atlassian.theplugin.idea.crucible.table.renderer.ReviewDecoratorImpl;
21  import com.atlassian.theplugin.idea.crucible.ReviewData;
22  
23  import javax.swing.*;
24  import java.util.Comparator;
25  
26  
27  public class ReviewStateColumn extends TableColumnInfo {
28  	private static final int COL_WIDTH = new JLabel("Summarize").getPreferredSize().width;
29  
30  	public String getColumnName() {
31  		return "State";
32  	}
33  
34  	public Object valueOf(Object o) {
35  		ReviewData review = (ReviewData) o;
36  
37  		return new ReviewDecoratorImpl(review.getState().value(), review).getString();
38  	}
39  
40  	public Class getColumnClass() {
41  		return String.class;
42  	}
43  
44  	public Comparator getComparator() {
45  		return new Comparator() {
46  			public int compare(Object o, Object o1) {
47  				return ((ReviewData) o).getState().value()
48  						.compareTo(((ReviewData) o1).getState().value());
49  			}
50  		};
51  	}
52  
53  	public int getPrefferedWidth() {
54  		return COL_WIDTH;
55  	}
56  
57  
58  }