001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.plugin.column; 017 018import org.opengion.fukurou.util.TagBuffer; 019import org.opengion.hayabusa.db.AbstractRenderer; 020import org.opengion.hayabusa.db.CellRenderer; 021import org.opengion.hayabusa.db.DBColumn; 022 023/** 024 * LABEL レンデラーは、カラムの値を#FFFFFFの色として表示する場合に 025 * 使用するクラスです。 026 * #FFFFFFのように#付き7桁のデータで設定して下さい。 027 * 028 * このクラスは、不変オブジェクトとして、共有されます。 029 * 030 * @og.group データ表示 031 * 032 * @og.rev 5.5.4.0 (2012/07/02) 新規作成 033 * @og.rev 5.6.3.1 (2013/04/05) input タグから、div へ全面変更 034 * 035 * @version 4.0 036 * @author Kazuhiko Hasegawa 037 * @since JDK5.0, 038 */ 039public class Renderer_COLOR extends AbstractRenderer { 040 //* このプログラムのVERSION文字列を設定します。 {@value} */ 041 private static final String VERSION = "5.6.3.1 (2013/04/05)" ; 042 043 private static final CellRenderer dbCell = new Renderer_COLOR() ; 044 045 private static final String DIV1 = "<div style=\"background-color:" ; 046 private static final String DIV2 = "; color:" ; 047 private static final String DIV3 = ";\">" ; 048 private static final String DIV4 = "</div>" ; 049 050 /** 051 * 各オブジェクトから自分のインスタンスを返します。 052 * 自分自身をキャッシュするのか、新たに作成するのかは、各サブクラスの実装に 053 * まかされます。 054 * 055 * @param clm DBColumnオブジェクト 056 * 057 * @return CellRendererオブジェクト 058 */ 059 public CellRenderer newInstance( final DBColumn clm ) { 060 return dbCell; 061 } 062 063 /** 064 * データの表示用文字列を返します。 065 * 066 * @param value 入力値 067 * 068 * @return データの表示用文字列 069 */ 070 @Override 071 public String getValue( final String value ) { 072 if( value == null || (value.trim()).isEmpty() ) { 073 return ""; 074 } 075 076 return DIV1 + value + DIV2 + value + DIV3 + value + DIV4; 077 } 078}