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 */
016 package org.opengion.plugin.column;
017
018 import org.opengion.hayabusa.common.HybsSystem;
019 import org.opengion.hayabusa.db.AbstractRenderer;
020 import org.opengion.hayabusa.db.CellRenderer;
021 import org.opengion.hayabusa.db.DBColumn;
022
023 /**
024 * PN2 レンãƒ?ƒ©ーは、カラãƒ??ãƒ??タを品番æƒ??(?‘1桁ã?æ–?—å?をï¼?????に対してã€?
025 * それぞれã€?PN_1","PN_2","PN_3"とã�?�†クラスを付加しますã?
026 * これにより、真ん中の部åˆ?� けã?色を変えたりすることができますã?
027 *
028 * こã?クラスは、不変オブジェクトとして、å?有されますã?
029 *
030 * @og.group ãƒ??タ表示
031 *
032 * @version 5.0
033 * @author Hiroki Nakamura
034 * @since JDK5.0,
035 */
036 public class Renderer_PN2 extends AbstractRenderer {
037 //* こã?プログラãƒ??VERSIONæ–?—å?を設定しますã? {@value} */
038 private static final String VERSION = "4.0.0.0 (2005/08/31)" ;
039
040 private static final CellRenderer dbCell = new Renderer_PN2() ;
041
042 /**
043 * å�?‚ªブジェクトからè?åˆ??インスタンスを返しますã?
044 * 自åˆ??身をキャãƒ?‚·ュするのかã?新たに作æ?するのかã?、各サブクラスの実è£?�«
045 * まかされますã?
046 *
047 * @param clm DBColumnオブジェクãƒ?
048 *
049 * @return CellRendererオブジェクãƒ?
050 */
051 public CellRenderer newInstance( final DBColumn clm ) {
052 return dbCell;
053 }
054
055 /**
056 * ãƒ??タの表示用æ–?—å?を返しますã?
057 *
058 * @param value 入力å?
059 *
060 * @return ãƒ??タの表示用æ–?—å?
061 */
062 @Override
063 public String getValue( final String value ) {
064 String rtn = value;
065 if( value != null && value.length() >= 10 ) {
066 StringBuilder buf = new StringBuilder( HybsSystem.BUFFER_SMALL );
067 buf.append( "<span class=\"PN_1\">" ).append( value.substring( 0, 3 ) ).append( "</span>" );
068 buf.append( "<span class=\"PN_2\">" ).append( value.substring( 3, 8 ) ).append( "</span>" );
069 buf.append( "<span class=\"PN_3\">" ).append( value.substring( 8 ) ).append( "</span>" );
070 rtn = buf.toString();
071 }
072 return rtn;
073 }
074 }