Coverage Report - org.openpermis.editor.policy.renderer.PartBeanTableCellRenderer
 
Classes in this File Line Coverage Branch Coverage Complexity
PartBeanTableCellRenderer
0%
0/9
0%
0/2
1.5
 
 1  
 /*
 2  
  * Copyright (c) 2009, Ergon Informatik AG (http://www.ergon.ch)
 3  
  * All rights reserved.
 4  
  * 
 5  
  * Licensed under the Open Permis License which accompanies this distribution, 
 6  
  * and is available at http://www.openpermis.org/BSDlicenceKent.txt
 7  
  */
 8  
 package org.openpermis.editor.policy.renderer;
 9  
 
 10  
 import java.awt.Component;
 11  
 
 12  
 import javax.swing.JTable;
 13  
 import javax.swing.table.DefaultTableCellRenderer;
 14  
 
 15  
 import org.openpermis.editor.policy.adapter.Adaptee;
 16  
 import org.openpermis.editor.policy.adapter.AdapterTrader;
 17  
 
 18  
 
 19  
 /**
 20  
  * 
 21  
  * @since 0.3.0
 22  
  */
 23  
 public class PartBeanTableCellRenderer extends DefaultTableCellRenderer {
 24  
 
 25  
         //---- Static
 26  
         
 27  
         private static final long serialVersionUID = -4287720706786871362L;
 28  
         
 29  
         //---- State
 30  
         
 31  
         private AdapterTrader trader;
 32  
         
 33  
         private Class<? extends Adaptee<String>> textAdapteeType;
 34  
 
 35  
         
 36  
         //---- Constructors
 37  
         
 38  
         /**
 39  
          * @since 0.3.0
 40  
          */
 41  
         public PartBeanTableCellRenderer (
 42  
                 AdapterTrader trader, Class<? extends Adaptee<String>> adapteeType 
 43  0
         ) {
 44  0
                 this.trader = trader;
 45  0
                 this.textAdapteeType = adapteeType;
 46  0
         }
 47  
         
 48  
         //---- DefaultTableCellRenderer
 49  
         
 50  
         /**
 51  
          * @since 0.3.0
 52  
          */
 53  
         @Override
 54  
         public Component getTableCellRendererComponent (
 55  
                 JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column
 56  
         ) {
 57  0
                 final Component original = 
 58  
                         super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
 59  0
                 if (value == null) {
 60  0
                         this.setText("");
 61  
                 } else {
 62  0
                         this.setText(this.trader.adaptTo(value, this.textAdapteeType).get());
 63  
                 }
 64  0
                 return original;
 65  
         }
 66  
 
 67  
 }