示例#1
0
  /**
   * Injects all matching parameters to target instance. Matching parameters are named as given base
   * name.
   *
   * @param scopeData scope data is not used!
   */
  public void injectContext(Target target, ScopeData[] scopeData, PetiteContainer madpc) {
    Class targetType = target.resolveType();
    String baseName = targetType.getName();

    ParamManager madvocPetiteParamManager = madpc.getParamManager();

    String[] params = madvocPetiteParamManager.resolve(baseName, true);

    for (String param : params) {
      Object value = madvocPetiteParamManager.get(param);

      String propertyName = param.substring(baseName.length() + 1);

      target.writeValue(propertyName, value, madvocConfig.isInjectionErrorThrowsException());
    }
  }