📄 defaulteventpropertyhandler.java
字号:
/*
* DefaultEventPropertyHandler.java
*
* Created on 2001/11/29, 14:18
*/
package jp.co.intra_mart.framework.base.event;
import java.io.File;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import jp.co.intra_mart.framework.system.property.PropertyParam;
import java.util.MissingResourceException;
import jp.co.intra_mart.framework.system.property.PropertyHandlerException;
/**
* 僨僼僅儖僩偺EventPropertyHandler偱偡丅
* <BR>僾儘僷僥傿僼傽僀儖偼傾僾儕働乕僔儑儞枅偵暘妱偝傟傑偡丅偙偺応崌偺僼傽僀儖柤偼乽<I>僾儗僼傿僢僋僗</I>_<I>傾僾儕働乕僔儑儞ID</I>.properties乿偱偡丅
* <BR>僾儘僷僥傿僼傽僀儖偺僾儗僼傿僢僋僗偼{@link jp.co.intra_mart.framework.system.property.PropertyManager#getPropertyHandlerParams(String)}偱僉乕偵{@link EventManager#EVENT_PROPERTY_HANDLER_KEY}傪巜掕偟偨偲偒偵庢摼偝傟傞僷儔儊乕僞偺偆偪{@link #DEFAULT_BUNDLE_NAME}偱庢摼偝傟傞傕偺偲側傝傑偡丅
* 巜掕偟側偐偭偨応崌偺僾儘僷僥傿僼傽僀儖偺僾儗僼傿僢僋僗偼{@link #DEFAULT_BUNDLE_NAME_PARAM}偱帵偝傟傞傕偺偱偡丅
* <BR>僾儘僷僥傿偺愝掕撪梕偼埲壓偺偲偍傝偱偡丅
* <TABLE border="1">
* <TR>
* <TH nowrap>僉乕</TH>
* <TH nowrap>撪梕</TH>
* </TR>
* <TR>
* <TD>event.class.<I>僉乕</I></TD>
* <TD><I>僉乕</I>偵懳墳偡傞{@link Event}偺僋儔僗柤</TD>
* </TR>
* <TR>
* <TD>factory.class.<I>僉乕</I></TD>
* <TD><I>僉乕</I>偵懳墳偡傞{@link EventListenerFactory}偺僋儔僗柤</TD>
* </TR>
* <TR>
* <TD>factory.param.<I>僉乕</I>.<I>僷儔儊乕僞柤</I></TD>
* <TD><I>僉乕</I>偵懳墳偡傞{@link EventListenerFactory}偺僷儔儊乕僞偺抣</TD>
* </TR>
* <TR>
* <TD>trigger.class.<I>僉乕</I>.<I>僜乕僩斣崋</I>[.pre]</TD>
* <TD><I>僉乕</I>偵懳墳偡傞{@link EventTrigger}偺僋儔僗柤<BR>暋悢巜掕偟偨応崌丄僩儕僈偼<I>僜乕僩斣崋</I>偺弴斣偵張棟偝傟傑偡丅<BR>偙偺僩儕僈偼奩摉偡傞僀儀儞僩儕僗僫偑張棟偝傟傞慜偵婲摦偟傑偡丅</TD>
* </TR>
* <TR>
* <TD>trigger.class.<I>僉乕</I>.<I>僜乕僩斣崋</I>.post</TD>
* <TD><I>僉乕</I>偵懳墳偡傞{@link EventTrigger}偺僋儔僗柤<BR>暋悢巜掕偟偨応崌丄僩儕僈偼<I>僜乕僩斣崋</I>偺弴斣偵張棟偝傟傑偡丅<BR>偙偺僩儕僈偼奩摉偡傞僀儀儞僩儕僗僫偑張棟偝傟偨屻偵婲摦偟傑偡丅</TD>
* </TR>
* </TABLE>
*
* @author INTRAMART
* @version 1.0
*/
public class DefaultEventPropertyHandler implements EventPropertyHandler {
/**
* 僨僼僅儖僩偺儕僜乕僗僶儞僪儖柤偺僾儗僼傿僢僋僗
*/
public static final String DEFAULT_BUNDLE_NAME = "EventConfig";
/**
* 儕僜乕僗僶儞僪儖柤偺僷儔儊乕僞柤
*/
public static final String DEFAULT_BUNDLE_NAME_PARAM = "bundle";
/**
* 僀儀儞僩儕僜乕僗忣曬偑愝掕偝傟偰偄傞儕僜乕僗僶儞僪儖偺僾儗僼傿僢僋僗
*/
private String bundlePrefix;
/**
* 傾僾儕働乕僔儑儞偛偲偺僀儀儞僩儕僜乕僗忣曬偑愝掕偝傟偰偄傞儕僜乕僗僶儞僪儖
*
* @uml.property name="bundles"
* @uml.associationEnd
* @uml.property name="bundles" multiplicity="(0 1)" qualifier="application:java.lang.String
* result:java.util.ResourceBundle"
*/
private Map bundles;
/**
* 慜張棟梡僀儀儞僩僩儕僈忣曬偺儅僢僾
*
* @uml.property name="eventTriggers"
* @uml.associationEnd
* @uml.property name="eventTriggers" multiplicity="(0 1)" qualifier="application:java.lang.String
* infos:java.util.Collection"
*/
private Map eventTriggers;
/**
* 屻張棟梡僀儀儞僩僩儕僈忣曬偺儅僢僾
*
* since 4.3
*
* @uml.property name="postEventTriggers"
* @uml.associationEnd
* @uml.property name="postEventTriggers" multiplicity="(0 1)" qualifier="application:java.lang.String
* infos:java.util.Collection"
*/
private Map postEventTriggers;
/**
* DefaultEventPropertyHandler傪怴婯偵惗惉偟傑偡丅
*/
public DefaultEventPropertyHandler() {
setBundlePrefix(null);
setApplicationBundles(new HashMap());
setEventTriggers(new HashMap());
setPostEventTriggers(new HashMap());
}
/**
* 儕僜乕僗僶儞僪儖偺僾儗僼傿僢僋僗傪愝掕偟傑偡丅
*
* @param bundlePrefix 儕僜乕僗僶儞僪儖偺僾儗僼傿僢僋僗
* @since 3.2
*
* @uml.property name="bundlePrefix"
*/
private void setBundlePrefix(String bundlePrefix) {
this.bundlePrefix = bundlePrefix;
}
/**
* 儕僜乕僗僶儞僪儖偺僾儗僼傿僢僋僗傪庢摼偟傑偡丅
*
* @return 儕僜乕僗僶儞僪儖偺僾儗僼傿僢僋僗
* @since 3.2
*
* @uml.property name="bundlePrefix"
*/
private String getBundlePrefix() {
return this.bundlePrefix;
}
/**
* 傾僾儕働乕僔儑儞偛偲偺儕僜乕僗僶儞僪儖偺廤崌傪愝掕偟傑偡丅
*
* @param applicationBundles 傾僾儕働乕僔儑儞偛偲偺儕僜乕僗僶儞僪儖偺廤崌
* @since 3.2
*/
private void setApplicationBundles(Map applicationBundles) {
this.bundles = applicationBundles;
}
/**
* 傾僾儕働乕僔儑儞偛偲偺儕僜乕僗僶儞僪儖偺廤崌傪庢摼偟傑偡丅
*
* @return 傾僾儕働乕僔儑儞偛偲偺儕僜乕僗僶儞僪儖偺廤崌
* @since 3.2
*/
private Map getApplicationBundles() {
return this.bundles;
}
/**
* 僀儀儞僩僩儕僈忣曬偺儅僢僾傪愝掕偟傑偡丅
*
* @param eventTriggers 僀儀儞僩僩儕僈忣曬偺儅僢僾
* @since 3.2
*
* @uml.property name="eventTriggers"
*/
private void setEventTriggers(Map eventTriggers) {
this.eventTriggers = eventTriggers;
}
/**
* 僀儀儞僩僩儕僈忣曬偺儅僢僾傪庢摼偟傑偡丅
*
* @return 僀儀儞僩僩儕僈忣曬偺儅僢僾
* @since 3.2
*
* @uml.property name="eventTriggers"
*/
private Map getEventTriggers() {
return this.eventTriggers;
}
/**
* 僀儀儞僩僩儕僈忣曬偺儅僢僾傪愝掕偟傑偡丅
*
* @param eventTriggers 僀儀儞僩僩儕僈忣曬偺儅僢僾
* @since 4.3
*
* @uml.property name="postEventTriggers"
*/
private void setPostEventTriggers(Map eventTriggers) {
this.postEventTriggers = eventTriggers;
}
/**
* 僀儀儞僩僩儕僈忣曬偺儅僢僾傪庢摼偟傑偡丅
*
* @return 僀儀儞僩僩儕僈忣曬偺儅僢僾
* @since 4.3
*
* @uml.property name="postEventTriggers"
*/
private Map getPostEventTriggers() {
return this.postEventTriggers;
}
/**
* 傾僾儕働乕僔儑儞ID偱巜掕偝傟偨儕僜乕僗僶儞僪儖傪庢摼偟傑偡丅
*
* @param application 傾僾儕働乕僔儑儞ID
* @return 傾僾儕働乕僔儑儞ID偵奩摉偡傞儕僜乕僗僶儞僪儖
* @throws EventPropertyException 儕僜乕僗僶儞僪儖偺庢摼帪偵椺奜偑敪惗
* @since 3.2
*/
private ResourceBundle getResourceBundle(String application)
throws EventPropertyException {
ResourceBundle result;
result = (ResourceBundle)getApplicationBundles().get(application);
if (result == null) {
synchronized (this) {
result =
(ResourceBundle)getApplicationBundles().get(application);
if (result == null) {
result = createResourceBundle(application);
getApplicationBundles().put(application, result);
}
}
}
return result;
}
/**
* 傾僾儕働乕僔儑儞ID偱巜掕偝傟偨儕僜乕僗僶儞僪儖傪惗惉偟傑偡丅
*
* @param application 傾僾儕働乕僔儑儞ID
* @return 傾僾儕働乕僔儑儞ID偵奩摉偡傞儕僜乕僗僶儞僪儖
* @throws EventPropertyException 儕僜乕僗僶儞僪儖偺庢摼帪偵椺奜偑敪惗
* @since 3.2
*/
private ResourceBundle createResourceBundle(String application)
throws EventPropertyException {
try {
return ResourceBundle.getBundle(
getPropertyPackage( application ) + getBundlePrefix() + "_" + getApplicationID( application ));
} catch (MissingResourceException e) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -