1 /* 2 * Copyright 2004-2009 the Seasar Foundation and the Others. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 13 * either express or implied. See the License for the specific language 14 * governing permissions and limitations under the License. 15 */ 16 package org.seasar.cubby.plugins.oval.validation; 17 18 /** 19 * スレッドに関連付けられる入力検証の状態です。 20 * 21 * @author baba 22 */ 23 public class OValValidationContext { 24 25 /** {@link OValValidationContext} を保持する {@link ThreadLocal} */ 26 private static final ThreadLocal<OValValidationContext> context = new ThreadLocal<OValValidationContext>() { 27 28 @Override 29 protected OValValidationContext initialValue() { 30 return new OValValidationContext(); 31 } 32 33 }; 34 35 /** メッセージキーのプリフィックス。 */ 36 private String resourceKeyPrefix; 37 38 /** 39 * インスタンス化禁止。 40 */ 41 private OValValidationContext() { 42 } 43 44 /** 45 * スレッドに関連付けられた {@link OValValidationContext} を取得します。 46 * 47 * @return スレッドに関連付けられた {@link OValValidationContext} 48 */ 49 public static OValValidationContext get() { 50 return context.get(); 51 } 52 53 /** 54 * スレッドに関連付けられた {@link OValValidationContext} を削除します。 55 */ 56 public static void remove() { 57 context.remove(); 58 } 59 60 /** 61 * メッセージキーのプリフィックスを取得します。 62 * 63 * @return メッセージキーのプリフィックス 64 */ 65 public String getResourceKeyPrefix() { 66 return resourceKeyPrefix; 67 } 68 69 /** 70 * メッセージキーのプリフィックスを設定します。 71 * 72 * @param resourceKeyPrefix 73 * メッセージキーのプリフィックス 74 */ 75 public void setResourceKeyPrefix(String resourceKeyPrefix) { 76 this.resourceKeyPrefix = resourceKeyPrefix; 77 } 78 79 }