📄 jobdatamap.java
字号:
/* * Copyright 2004-2005 OpenSymphony * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * *//* * Previously Copyright (c) 2001-2004 James House */package org.quartz;import java.io.Serializable;import java.util.Map;import org.quartz.utils.StringKeyDirtyFlagMap;/** * <p> * Holds state information for <code>Job</code> instances. * </p> * * <p> * <code>JobDataMap</code> instances are stored once when the <code>Job</code> * is added to a scheduler. They are also re-persisted after every execution of * <code>StatefulJob</code> instances. * </p> * * <p> * <code>JobDataMap</code> instances can also be stored with a * <code>Trigger</code>. This can be useful in the case where you have a Job * that is stored in the scheduler for regular/repeated use by multiple * Triggers, yet with each independent triggering, you want to supply the * Job with different data inputs. * </p> * * <p> * The <code>JobExecutionContext</code> passed to a Job at execution time * also contains a convenience <code>JobDataMap</code> that is the result * of merging the contents of the trigger's JobDataMap (if any) over the * Job's JobDataMap (if any). * </p> * * @see Job * @see StatefulJob * @see Trigger * @see JobExecutionContext * * @author James House */public class JobDataMap extends StringKeyDirtyFlagMap implements Serializable { private static final long serialVersionUID = -6939901990106713909L; /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Data members. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /** * <p> * Create an empty <code>JobDataMap</code>. * </p> */ public JobDataMap() { super(15); } /** * <p> * Create a <code>JobDataMap</code> with the given data. * </p> */ public JobDataMap(Map map) { this(); putAll(map); } /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Interface. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /** * <p> * Adds the given <code>boolean</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, boolean value) { String strValue = new Boolean(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Boolean</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Boolean value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>char</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, char value) { String strValue = new Character(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Character</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Character value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>double</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, double value) { String strValue = new Double(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Double</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Double value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>float</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, float value) { String strValue = new Float(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Float</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Float value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>int</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, int value) { String strValue = new Integer(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Integer</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Integer value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>long</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, long value) { String strValue = new Long(value).toString(); super.put(key, strValue); } /** * <p> * Adds the given <code>Long</code> value as a string version to the * <code>Job</code>'s data map. * </p> */ public void putAsString(String key, Long value) { String strValue = value.toString(); super.put(key, strValue); } /** * <p> * Retrieve the identified <code>int</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public int getIntFromString(String key) { Object obj = get(key); return new Integer((String) obj).intValue(); } /** * <p> * Retrieve the identified <code>int</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String or Integeger. */ public long getIntValue(String key) { Object obj = get(key); if(obj instanceof String) { return getIntFromString(key); } else { return getInt(key); } } /** * <p> * Retrieve the identified <code>int</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Integer getIntegerFromString(String key) { Object obj = get(key); return new Integer((String) obj); } /** * <p> * Retrieve the identified <code>boolean</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public boolean getBooleanValueFromString(String key) { Object obj = get(key); return new Boolean((String) obj).booleanValue(); } /** * <p> * Retrieve the identified <code>boolean</code> value from the * <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String or Boolean. */ public boolean getBooleanValue(String key) { Object obj = get(key); if(obj instanceof String) { return getBooleanValueFromString(key); } else { return getBoolean(key); } } /** * <p> * Retrieve the identified <code>Boolean</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Boolean getBooleanFromString(String key) { Object obj = get(key); return new Boolean((String) obj); } /** * <p> * Retrieve the identified <code>char</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public char getCharFromString(String key) { Object obj = get(key); return ((String) obj).charAt(0); } /** * <p> * Retrieve the identified <code>Character</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Character getCharacterFromString(String key) { Object obj = get(key); return new Character(((String) obj).charAt(0)); } /** * <p> * Retrieve the identified <code>double</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public double getDoubleValueFromString(String key) { Object obj = get(key); return new Double((String) obj).doubleValue(); } /** * <p> * Retrieve the identified <code>double</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String or Double. */ public double getDoubleValue(String key) { Object obj = get(key); if(obj instanceof String) { return getDoubleValueFromString(key); } else { return getDouble(key); } } /** * <p> * Retrieve the identified <code>Double</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Double getDoubleFromString(String key) { Object obj = get(key); return new Double((String) obj); } /** * <p> * Retrieve the identified <code>float</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public float getFloatValueFromString(String key) { Object obj = get(key); return new Float((String) obj).floatValue(); } /** * <p> * Retrieve the identified <code>float</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String or Float. */ public float getFloatValue(String key) { Object obj = get(key); if(obj instanceof String) { return getFloatValueFromString(key); } else { return getFloat(key); } } /** * <p> * Retrieve the identified <code>Float</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Float getFloatFromString(String key) { Object obj = get(key); return new Float((String) obj); } /** * <p> * Retrieve the identified <code>long</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public long getLongValueFromString(String key) { Object obj = get(key); return new Long((String) obj).longValue(); } /** * <p> * Retrieve the identified <code>long</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String or Long. */ public long getLongValue(String key) { Object obj = get(key); if(obj instanceof String) { return getLongValueFromString(key); } else { return getLong(key); } } /** * <p> * Retrieve the identified <code>Long</code> value from the <code>JobDataMap</code>. * </p> * * @throws ClassCastException * if the identified object is not a String. */ public Long getLongFromString(String key) { Object obj = get(key); return new Long((String) obj); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -