<p>Create a bean.</p>
@param pAddParam additional param
@return M request(or) scoped bean
@throws Exception - an exception
164847
@Override
  public final M create(final Map<String, Object> pAddParam) throws Exception {
    M object = this.objectClass.newInstance();
    return object;
  }
656418
protected final PrcAccEntityPbWithSubaccEditDelete<RS, IPersistableBase>
    createPutPrcAccEntityPbWithSubaccEditDelete(
      final Map<String, Object> pAddParam) throws Exception {
    PrcAccEntityPbWithSubaccEditDelete<RS, IPersistableBase> proc =
      new PrcAccEntityPbWithSubaccEditDelete<RS, IPersistableBase>();
    @SuppressWarnings("unchecked")
    PrcEntityPbEditDelete<RS, IPersistableBase> procDlg =
      (PrcEntityPbEditDelete<RS, IPersistableBase>) this.fctBnEntitiesProcessors
        .lazyGet(pAddParam, PrcEntityPbEditDelete.class.getSimpleName());
    proc.setPrcAccEntityPbEditDelete(procDlg);
    proc.setSrvTypeCode(getSrvTypeCode());
    //assigning fully initialized object:
    this.processorsMap
      .put(PrcAccEntityPbWithSubaccEditDelete.class.getSimpleName(), proc);
    return proc;
  }
587222
protected final PrcPageWithSubaccTypes<RS>
    createPutPrcPageWithSubaccTypes(
      final Map<String, Object> pAddParam) throws Exception {
    PrcPageWithSubaccTypes<RS> proc = new PrcPageWithSubaccTypes<RS>();
    PrcEntitiesPage procDlg = (PrcEntitiesPage) this.fctBnProcessors
      .lazyGet(pAddParam, PrcEntitiesPage.class.getSimpleName());
    proc.setPrcAccEntitiesPage(procDlg);
    proc.setSrvTypeCode(getSrvTypeCode());
    //assigning fully initialized object:
    this.processorsMap
      .put(PrcPageWithSubaccTypes.class.getSimpleName(), proc);
    return proc;
  }
354229
protected final PrcSeSellerDel<RS> lazyGetPrcSeSellerDel(final Map<String, Object> pAddParam) throws Exception {
    String beanName = PrcSeSellerDel.class.getSimpleName();
    @SuppressWarnings("unchecked")
    PrcSeSellerDel<RS> proc = (PrcSeSellerDel<RS>) this.processorsMap.get(beanName);
    if (proc == null) {
      proc = new PrcSeSellerDel<RS>();
      proc.setSrvOrm(getSrvOrm());
      proc.setFindSeSeller(getFindSeSeller());
      //assigning fully initialized object:
      this.processorsMap.put(beanName, proc);
      this.logger.info(null, FctBnTradeEntitiesProcessors.class, beanName + " has been created.");
    }
    return proc;
  }
922112
@Override
  public final <T> Integer evalRowCount(
    final Map<String, Object> pAddParam,
      final Class<T> pEntityClass) throws Exception {
    String query = "select count(*) as TOTALROWS from " + pEntityClass
      .getSimpleName().toUpperCase() + ";";
    return evalRowCountByQuery(pAddParam, pEntityClass, query);
  }
1033693
@Override
  public final void process(final Map<String, Object> pAddParam,
    final IRequestData pRequestData) throws Exception {
    this.prcAccEntitiesPage.process(pAddParam, pRequestData);
    pRequestData.setAttribute("typeCodeSubaccMap",
      this.srvTypeCode.getTypeCodeMap());
  }
1208078
protected final PrcSubaccountLineCreate<RS>
    createPutPrcSubaccountLineCreate(
      final Map<String, Object> pAddParam) throws Exception {
    PrcSubaccountLineCreate<RS> proc = new PrcSubaccountLineCreate<RS>();
    @SuppressWarnings("unchecked")
    IEntityProcessor<SubaccountLine, Long> procDlg =
      (IEntityProcessor<SubaccountLine, Long>) this.fctBnEntitiesProcessors
        .lazyGet(pAddParam, PrcEntityCreate.class.getSimpleName());
    proc.setPrcAccEntityCreate(procDlg);
    proc.setSrvTypeCode(getSrvTypeCode());
    proc.setSrvOrm(getSrvOrm());
    //assigning fully initialized object:
    this.processorsMap
      .put(PrcSubaccountLineCreate.class.getSimpleName(), proc);
    return proc;
  }
726991
protected final PrcSettingsAddSave<RS> lazyGetPrcSettingsAddSave(final Map<String, Object> pAddParam) throws Exception {
    String beanName = PrcSettingsAddSave.class.getSimpleName();
    @SuppressWarnings("unchecked")
    PrcSettingsAddSave<RS> proc = (PrcSettingsAddSave<RS>) this.processorsMap.get(beanName);
    if (proc == null) {
      proc = new PrcSettingsAddSave<RS>();
      proc.setSrvSettingsAdd(getSrvSettingsAdd());
      //assigning fully initialized object:
      this.processorsMap.put(beanName, proc);
      this.logger.info(null, FctBnTradeEntitiesProcessors.class, beanName + " has been created.");
    }
    return proc;
  }
729828
@Override
  public final void write(final Map<String, Object> pAddParam, final T pObject,
    final Object pFieldVal, final String pFieldName) throws Exception {
    Method fldSetter = this.settersMap.get(pFieldName);
    fldSetter.invoke(pObject, pFieldVal);
  }
256964
@Override
  public final void process(final Map<String, Object> pAddParam,
    final IRequestData pRequestData) throws Exception {
    String itemType = pRequestData.getParameter("itemType");
    if (InvItem.class.getSimpleName().equals(itemType)) {
      makeIt(pAddParam, pRequestData, InvItem.class);
    } else if (ServiceToSale.class.getSimpleName().equals(itemType)) {
      makeIt(pAddParam, pRequestData, ServiceToSale.class);
    } else {
      throw new Exception("NYI: " + itemType);
    }
  }
545208
@Override
  public final IProcessor lazyGet(//NOPMD
    final Map<String, Object> pAddParam,
      final String pBeanName) throws Exception {
    IProcessor proc = this.processorsMap.get(pBeanName);
    if (proc == null) {
      // locking:
      synchronized (this.processorsMap) {
        // make sure again whether it's null after locking:
        proc = this.processorsMap.get(pBeanName);
        if (proc == null) {
          if (pBeanName.equals(PrcDelItemFromCart.class.getSimpleName())) {
            proc = lazyGetPrcDelItemFromCart(pAddParam);
          } else if (pBeanName.equals(PrCart.class.getSimpleName())) {
            proc = lazyGetPrCart(pAddParam);
          } else if (pBeanName.equals(PrcItemInCart.class.getSimpleName())) {
            proc = lazyGetPrcItemInCart(pAddParam);
          } else if (pBeanName.equals(PrLog.class.getSimpleName())) {
            proc = lazyGetPrLog(pAddParam);
          } else if (pBeanName.equals(PrcCheckOut.class.getSimpleName())) {
            proc = lazyGetPrcCheckOut(pAddParam);
          } else if (pBeanName.equals(PrBuOr.class.getSimpleName())) {
            proc = lazyGetPrBuOr(pAddParam);
          } else if (pBeanName.equals(PrBur.class.getSimpleName())) {
            proc = lazyGetPrBur(pAddParam);
          } else if (pBeanName.equals(PrPur.class.getSimpleName())) {
            proc = lazyGetPrPur(pAddParam);
          } else if (pBeanName.equals(PrcItemPage.class.getSimpleName())) {
            proc = lazyGetPrcItemPage(pAddParam);
          } else if (pBeanName.equals(PrcWebstorePage.class.getSimpleName())) {
            proc = lazyGetPrcWebstorePage(pAddParam);
          }
        }
      }
    }
    if (proc == null) {
      throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE,
        "There is no processor with name " + pBeanName);
    }
    return proc;
  }
220841
protected final void lazyInitRetrievers(
      final Map<String, Object> pAddParam) throws Exception {
    if (this.retrievers == null) {
      this.retrievers = new HashMap<String, ICsvDataRetriever>();
      GoodsPriceListRetriever<RS> gpr = new GoodsPriceListRetriever<RS>();
      gpr.setSrvI18n(getSrvI18n());
      gpr.setSrvOrm(getSrvOrm());
      gpr.setSrvDatabase(getSrvDatabase());
      gpr.setSrvAccSettings(getSrvAccSettings());
      this.retrievers.put("GoodsPriceListRetriever", gpr);
      ServicePriceListRetriever<RS> spr = new ServicePriceListRetriever<RS>();
      spr.setSrvI18n(getSrvI18n());
      spr.setSrvOrm(getSrvOrm());
      spr.setSrvAccSettings(getSrvAccSettings());
      this.retrievers.put("ServicePriceListRetriever", spr);
    }
  }
1372817
@Override
  public final T fromString(final Map<String, Object> pAddParam,
    final String pStrVal) throws Exception {
    T entity = null;
    if (pStrVal != null && !"".equals(pStrVal)) {
      entity = this.entityClass.newInstance();
      ID idVal = this.idConverter.fromString(pAddParam, pStrVal);
      this.setterId.invoke(entity, idVal);
    }
    return entity;
  }
851547
protected final PrcEmailMsgSave<RS> createPutPrcEmailMsgSave(
    final Map<String, Object> pAddParam) throws Exception {
    @SuppressWarnings("unchecked")
    PrcEmailMsgSave<RS> proc = (PrcEmailMsgSave<RS>)
      this.fctBnEntitiesProcessors
        .lazyGet(pAddParam, PrcEmailMsgSave.class.getSimpleName());
    //assigning fully initialized object:
    this.processorsMap.put(PrcEmailMsgSave.class.getSimpleName(), proc);
    return proc;
  }
1159832
protected final PrcReplicationAccMethodSave<RS>
    createPutPrcReplicationAccMethodSave(
      final Map<String, Object> pAddParam) throws Exception {
    PrcReplicationAccMethodSave<RS> proc =
      new PrcReplicationAccMethodSave<RS>();
    proc.setSrvAccSettings(getSrvAccSettings());
    proc.setSrvOrm(getSrvOrm());
    //assigning fully initialized object:
    this.processorsMap
      .put(PrcReplicationAccMethodSave.class.getSimpleName(), proc);
    return proc;
  }
1292978
@Override
  public final Object read(final Map<String, Object> pAddParam,
    final T pObject, final String pFieldName) throws Exception {
    Method fldGetter = this.gettersMap.get(pFieldName);
    return fldGetter.invoke(pObject);
  }
247391
@Override
  public final void retrievePage(final Map<String, Object> pAddParam,
    final IRequestData pRequestData) throws Exception {
    this.isDbgSh = this.logger.getDbgSh(this.getClass())
        && this.logger.getDbgFl() < 7001 && this.logger.getDbgCl() > 7003;
    this.hlpEntitiesPage.retrievePage(pAddParam, pRequestData, this.entitiesMap,
      this.isDbgSh, this.filterFiMaker);
  }