EZServlet 2001.3.19 に追加された新機能 【注意事項】-------------------- com.ngMAT.HTML.ezscustomtag.ParameterEnumeration com.ngMAT.HTML.ezscustomtag.ParameterToHidden において、パラメタ名、値共にフィルタ処理対象になりました。(ver. 2001.3.15) -------------------- java -jar ngmat-ezs.jarでバージョン、rev.及びビルド番号を確認できます。 -------------------- 修正されたバグ com.ngMAT.Common.html.HTMLTemplate setTagValueWithTagContentでセットされるテンプレートインスタンスが、指定されたタグの親インスタンスに結合された別のテンプレートインスタンスに伝搬されない不具合を修正。 -------------------- 追加・修正された機能 com.ngMAT.Common.ArrayUtil 新規メソッド:shift(T[])、shift(T[],int)、toList(T[])、toHashSet(T[]) com.ngMAT.Common.CoolProperties Iterableの実装を追加。 システムプロパティCoolProperties.EmitNullAsEmptyStringに対応。 新規メソッド:getEmitNullAsEmptyString、setEmitNullAsEmptyString、toLowerCase com.ngMAT.Common.DSV 新規メソッド:toLongArray、toLongArrayList、add (Vector)、merge (DSV) com.ngMAT.Common.DSVGenerator 初期化時のフィールド情報取得に関するエラーメッセージを分かりやすく変更。 fromObjectに渡されたdataのクラスがnewInstanceで指定されたtarget_classと互換性がない場合のエラーメッセージを分かりやすく変更。 java.sql.Time用書式に対応。 java.util.Date/java.sql.Timestampフィールドについてフィールド名の後ろに"#date"/"#time"/"#timestamp"を付けることで、書式を選択できるように修正。 com.ngMAT.Common.Enumration2Iterator Iterableを実装。 com.ngMAT.Common.Log 新規システムプロパティ:com.ngMAT.Common.Log.Message.ClipAt 新規メソッド:setMessageClipAt、getMessageClipAt、println(Object) com.ngMAT.Common.PooledDBConnection 新規プロパティ:Database.TransactionIsolation com.ngMAT.Common.StringConverter 新規メソッド:decodeBase64(String,File)、decodeBase64(String,OutputStream)、removeChar(String,char) convertZenkakuToHankaku、convertZenkakuKatakanaToHankaku(間接的にconvertZenkakuToHankakuAll)の変換対象に濁音・半濁音記号を追加。 コマンドラインからdecodeBase64(String,File)を利用可能に。 com.ngMAT.Common.StringUtil 新規メソッド:splitLines。 com.ngMAT.Common.ThreadPool 新規メソッド:newInstance (Properties, Class)、newInstance (Properties, Class, ThreadPoolWorkerInitializer)、waitAndAssignWork、waitAllSuspended 新規プロパティ:ThreadPool.WaitInterval com.ngMAT.Common.URLParameterHandler 新規メソッド:setParameter(String,String)、setParameter(String,long)、setParameter(String,bolean)、getFrom(EZServletContext) com.ngMAT.HTML.CustomTag 新規protectedインスタンス変数localeを追加。InsertionTagから引き継いだ値を保持。 com.ngMAT.HTML.FileResource 新規コンストラクタ・メソッド:FileResource(ngmObjectFunction,File)、setFile(ngmObjectFunction,File)、setMimeTypeWithFilename(ngmObjectFunction) com.ngMAT.HTML.FlexibleSelect 新規クラス com.ngMAT.HTML.InputStreamResource 新規メソッド:setMimeTypeWithFilename(ngmObjectFunction,String) com.ngMAT.HTML.HTMLTemplate 新規メソッド:setTagValue(String, Calendar)、getJoinedChildren、listTagNames EZServletContextに関係しないインスタンスにおいても、#value_swで生成される子テンプレートにデコーダーを自動で引き継ぐように修正。 日付フォーマット時にInsertionTagの保持するLocaleを使用するように変更。 #repeatable2(ネスト用)に対応 #includeにおいて#replace:=属性に対応。includeされるファイル中の文字列内容についての置換を行ってからパース処理される。 com.ngMAT.HTML.InsertionTag 新規メソッド:setOriginalStringAsTemplate(4種) 新規属性#locale, #dsvに対応。 com.ngMAT.HTML.JavaScript 新規クラス com.ngMAT.HTML.ParsedTable 新規メソッド:addRow() com.ngMAT.HTML.RepeatableElement 新規メソッド:addElement() com.ngMAT.HTML.customtag.Now 新規属性#localeに対応。 com.ngMAT.Mail.SimpleMailMessage パスワード設定漏れの際の例外を分かりやすいものに変更した。 com.ngMAT.net.HttpCommunicator doXXX:呼び出し時にurlがnull状態の場合NullURLException(NullPointerException系)をthrowするようにした。 doPost:リクエストボディがTextContentでgetEncodingType()がnullを返す場合には、"utf-8"としてコード変換を処理を行い、"Content-type"ヘッダにはcharset属性を付加しないようにした。(application/json でcharsetなしにできるようにするための対応) 新規メソッド:setRequestBody:setRequesetBodyの代替。setRequesetBodyはdeprecatedに。setRequestBody、getRequestBodyFile、setURLDirect、doPatch、alias指定付きnewInstance 新規プロパティ:HttpCommunicator.Debug.Log.Message.ClipAt プロパティ:HttpCommunicator.~に加えてHttpCommunicator.(alias).~にも対応 新規システムプロパティ:HttpCommunicator.Method.Patch.Enabled を trueにセットするとjava.net.HttpURLConnection.methodsを書換えてdoPatchを利用可能にするようにした。 com.ngMAT.servlet.EZServletConfig javadoc訂正:EZServlet.ACL.IPAddress.Check.Target → EZServlet.ACL.Check.Target 新規プロパティ: EZServlet.ACL.Check.Target:ACLチェック時に使用する対象アドレスをremote/clientで指定可能とした。 EZServlet.ACL.DEBUG_MODE=trueでACLに関するデバッグ情報をログ出力する様にした。 com.ngMAT.servlet.EZServletContext getServerName(String url)においてホスト名抽出時の区切り文字として"#"を追加(このメソッドはsendRedirect内での転送先URLバリデーションでも使用) ACLによりアクセスを拒否した場合にログ出力するようにした 新規メソッド:setNewVirtualMethodHandler(String), resetMethodHandler() com.ngMAT.servlet.EZServletContext 新規メソッド:getXForwardedFor()、getClientAddr()、getParametersMultiValueCSVMapAsProperties() com.ngMAT.servlet.EZServletVersion rev.及びビルド番号を表示するようにした。 com.ngMAT.servlet.MultiPartContentHandler 新規メソッド:newTempMultiPartAttachedFile、addToMap com.ngMAT.tools.cipher.EZAesHex setKeyBytesをpublicに変更 com.ngMAT.tools.ClassUtil 新規内部クラス:TargetFieldDetecter 新規メソッド:TargetFieldDetecter対応のgetPublicInstanceFields 新規メソッド:copyPublicInstanceFields(Object, Object, Iterable,boolean)、copyPublicInstanceFields(Object, Object, Iterable)、setStaticFieldValue、setDeclaredFieldValue、setStaticDeclaredFieldValue 新規メソッド:equals_n、equals_n2 com.ngMAT.tools.FileUtil 新規メソッド:save (OutputStream,InputStream)、save (OutputStream,InputStream,int) com.ngMAT.tools.HTMLUtil 新規メソッド:plainize com.ngMAT.tools.LocaleUtil 新規クラス com.ngMAT.tools.PeriodicalRoutineRunController Runner停止時にPeriodicalRoutineRunner#wrapup()を呼び出すようにした。 com.ngMAT.tools.PeriodicalRoutineRunner 新規メソッド:wrapup(デフォルトは何もしない) com.ngMAT.tools.TextFileLoader 新規メソッド:loadTextWithClassPath