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.db.CellEditor;
019    import org.opengion.hayabusa.db.DBColumn;
020    import org.opengion.hayabusa.db.SelectionFactory;               // 5.7.3.0 (2014/02/07)
021    
022    /**
023     * カラãƒ??ç·¨é›?ƒ‘ラメーターã®é–‹å§‹ã?終äº??スãƒ?ƒƒãƒ—ã?フォーマットã?titleフォーマットã?æƒ??よりã€?
024     * プルãƒ?‚¦ãƒ³ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’作æ?ã—ã¦ç·¨é›?™ã‚‹å?åˆã«ä½¿ç”¨ã™ã‚‹ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚¯ãƒ©ã‚¹ã§ã™ã?
025     *
026     * パラメータã®åˆæœŸå€¤ã¯ã€?–‹å§?0)ã€çµ‚äº?14)ã€ã‚¹ãƒ?ƒƒãƒ?1)ã€ãƒ•ォーマッãƒ?MM/dd)ã€titleフォーマッãƒ?null) ã§ã™ã?
027     * 
028     * ã“ã“ã§ã¯ã€æ—¥ä»?å¹´/æœ?æ—¥?‰ã?自動生æˆã‚’行ã„ã¾ã™ã?
029     * 基準ã?ã€å®Ÿè¡Œæ—¥ã«å¯¾ã—ã¦ã€?¼‹ï¼ã?æ•°å­—ã‚’æŒ?®šã—ã¾ã™ã?
030     * 例ï¼?0130206 ã«å¯¾ã—ã¦ã€?2,3,1 を指定ã™ã‚‹ã¨ã€?0130204,20130205,20130206,20130207,20130208,20130209 ã¨ãªã‚Šã¾ã™ã?
031     * 
032     * é–‹å§‹ã?終äº?«ã€ç‰¹æ®Šãªã‚³ãƒžãƒ³ãƒ‰ã‚’æŒ?®šã™ã‚‹äº‹ã‚‚å¯èƒ½ã§ã™ã?
033     * ・SD ?šå½“æœˆã®æœ??ã®æ—¥ä»˜ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(当月?‘æ—¥)
034     * ・ED ?šå½“æœˆã®æœ?¾Œã?日付ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(当月月末)
035     * ・SW ?šæ—¥ä»˜å?ç??週åˆã‚(月曜日)ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?日付ã?当日よりå‰ã«ç§»å‹•ã—ã¾ã™ã?
036     * ・EW ?šæ—¥ä»˜å?ç??週末(日曜日)ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?日付ã?当日より後ã‚ã«ç§»å‹•ã—ã¾ã™ã?
037     * ・D1 ??DXXX ?šæ—¥ã‚’æŒ‡å®šã?åˆ? ã‘é?ã‚ã¾ã™ã?D1ãªã‚‰ç¿Œæ—¥ã€D200 ãªã‚?00æ—¥å¾?
038     * ・M1 ??MXXX ?šæœˆã‚’æŒ‡å®šã?åˆ? ã‘é?ã‚ã¾ã™ã?M1ãªã‚‰ç¿Œæœˆã€M6 ãªã‚‰åŠå¹´å¾?
039     * ・BSD ?šå?月ã?æœ??ã®æ—¥ä»˜ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(先月?‘æ—¥)
040     * ・BED ?šå?月ã?æœ?¾Œã?日付ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(先月月末)
041     * ・ASD ?šç¿Œæœˆã®æœ??ã®æ—¥ä»˜ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(翌月?‘æ—¥)
042     * ・AED ?šç¿Œæœˆã®æœ?¾Œã?日付ã«ã‚»ãƒ?ƒˆã—ã¾ã™ã?(翌月月末)
043     * ・M1  ?šï¼‘ã‹æœˆå?。数字部åˆ??ã€ä»»æ„ã«æŒ?®šã§ãã‚‹ãŸã‚ã€M5 ã¨ã™ã‚Œã°ã€?¼•ã‹æœˆå?ã€?-2 ã¯ã€?¼’ã‹æœˆå‰
044     *
045     * スãƒ?ƒƒãƒ—ã?ã€ç„¡æŒ?®šã?å ´åˆã?ã€?¼‘æ—¥å˜ä½ã§ã™ã?例ãˆã°ã€SW,M6,7 ã¨ã™ã‚Œã°ã€æ¯Žé?æœˆæ›œæ—¥ã‚’ï¼–ã‹æœˆå?ã¾ã§ä½œæ?ã—ã¾ã™ã?
046     * ã¾ãŸã?M1 ã¯ã€?¼‘ã‹æœˆå˜ä½ã«ãªã‚Šã¾ã™ã?ãŸã ã—ã?é–‹å§‹æ—¥ã‚?SD ãªã©ã«ã—ãªã?¨ã€å¤§ã®æœˆã¨å°ã?月ã§ã€ãŠã‹ã—ããªã‚‹ã?ã§
047     * ã”æ³¨æ„ãã?•ã??
048     *
049     * キーã¯ã€?¼˜æ–‡å­—ã? yyyyMMdd å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã¾ã™ã?ラベルã¯ã€ãƒ•ォーマットã?æŒ?®šã«æº–æ‹ ã—ã¾ã™ã?
050     * フォーマットをæŒ?®šã™ã‚‹å?åˆã?ã€ã‚¹ãƒ?ƒƒãƒ—ã?ã€å¿??ã¨ãªã‚Šã¾ã™ã?
051     * フォーマットã?åˆæœŸå€¤ã¯ã€MM/dd ã§ã™ã?
052     * titleフォーマッãƒ?ã¯ã€tips表示ã™ã‚‹å ´åˆã?フォーマットã«ãªã‚Šã¾ã™ã?åˆæœŸå€¤ã¯ã€ã‚りã¾ã›ã‚“ã€?
053     *
054     * カラãƒ??表示ã«å¿?¦ãªå±žæ?ã¯, DBColumn オブジェクãƒ?よりå–り出ã—ã¾ã™ã?
055     * ã“ã?クラスã¯ã€DBColumn オブジェクト毎ã«?‘ã¤ä½œæ?ã•れã¾ã™ã?
056     *
057     * @og.rev 5.6.1.1 (2013/02/08) æ–°è¦ä½œæ?
058     * @og.group �?タ編�
059     *
060     * @version  4.0
061     * @author       Kazuhiko Hasegawa
062     * @since    JDK5.0,
063     */
064    public class Editor_YMDMENU extends Editor_MENU {
065            //* ã“ã?プログラãƒ??VERSIONæ–?­—å?を設定ã—ã¾ã™ã?       {@value} */
066            private static final String VERSION = "5.7.7.1 (2014/06/13)" ;
067    
068            /**
069             * ãƒ?ƒ•ォルトコンストラクターã€?
070             * ã“ã?コンストラクターã§ã€åŸºæœ¬ã‚ªãƒ–ジェクトを作æ?ã—ã¾ã™ã?
071             *
072             */
073            public Editor_YMDMENU() {
074                    super();
075            }
076    
077            /**
078             * コンストラクター�
079             *
080             * ã“ã“ã§ã¯ã€è¦ªã‚¯ãƒ©ã‚¹ã® Editor_MENU ã§åˆæœŸåŒ–を行ã„ã€ã‚»ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ–ジェクãƒ?ã«ã€?
081             * Selection_YMD を使用ã™ã‚‹ã‚ˆã†ã«å†è¨­å®šã—ã¾ã™ã?
082             *
083             * @og.rev 5.7.3.0 (2014/02/07) SelectionFactory 対�
084             * @og.rev 5.7.7.1 (2014/06/13) ãƒã‚°ä¿®æ­£
085             *
086             * @param       clm     DBColumnオブジェク�
087             */
088            private Editor_YMDMENU( final DBColumn clm ) {
089                    super( clm );
090    
091    //              selection = SelectionFactory.newSelection( "YMD" , clm.getCodeData() );
092                    selection = SelectionFactory.newSelection( "YMD" , clm.getEditorParam() );      // 5.7.7.1 (2014/06/13) ãƒã‚°ä¿®æ­£
093            }
094    
095            /**
096             * å?‚ªãƒ–ジェクトã‹ã‚‰è?åˆ??インスタンスを返ã—ã¾ã™ã?
097             * 自åˆ??身をキャãƒ?‚·ãƒ¥ã™ã‚‹ã®ã‹ã?æ–°ãŸã«ä½œæ?ã™ã‚‹ã®ã‹ã?ã€å„サブクラスã®å®Ÿè£?«
098             * ã¾ã‹ã•れã¾ã™ã?
099             *
100             * @param       clm     DBColumnオブジェク�
101             *
102             * @return      CellEditorオブジェク�
103             */
104            @Override
105            public CellEditor newInstance( final DBColumn clm ) {
106                    return new Editor_YMDMENU( clm );
107            }
108    }