コード例 #1
0
 @Override
 public Object getValue(
     final JobContext context, final Class<?> scope, final Object defaultValue) {
   final ScopedJobConfiguration scopedConfig =
       new ScopedJobConfiguration(context.getConfiguration(), scope);
   if (baseClass.isAssignableFrom(Integer.class)) {
     return Integer.valueOf(
         scopedConfig.getInt(parent.self(), ((Integer) defaultValue).intValue()));
   } else if (baseClass.isAssignableFrom(String.class)) {
     return scopedConfig.getString(parent.self(), defaultValue.toString());
   } else if (baseClass.isAssignableFrom(Double.class)) {
     return scopedConfig.getDouble(parent.self(), (Double) defaultValue);
   } else if (baseClass.isAssignableFrom(byte[].class)) {
     return scopedConfig.getBytes(parent.self());
   } else if ((defaultValue == null) || (defaultValue instanceof Class)) {
     try {
       return scopedConfig.getInstance(parent.self(), baseClass, (Class) defaultValue);
     } catch (InstantiationException | IllegalAccessException e) {
       LOGGER.error("Unable to get instance from job context", e);
     }
   }
   return null;
 }