@Override
  public final IEntityProcessor lazyGet(
    final Map<String, Object> pAddParam,
      final String pBeanName) throws Exception {
    IEntityProcessor 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(PrcEntityRetrieve.class.getSimpleName())) {
            proc = createPutPrcEntityRetrieve();
          } else if (pBeanName
            .equals(PrcMatchForeignLineCreate.class.getSimpleName())) {
            proc = createPutPrcMatchForeignLineCreate();
          } else if (pBeanName
            .equals(PrcCsvColumnCreate.class.getSimpleName())) {
            proc = createPutPrcCsvColumnCreate();
          } else if (pBeanName
            .equals(PrcEntityCreate.class.getSimpleName())) {
            proc = createPutPrcEntityCreate();
          } else if (pBeanName
            .equals(PrcEntityDelete.class.getSimpleName())) {
            proc = createPutPrcEntityDelete();
          } else if (pBeanName
            .equals(PrcEntityPbDelete.class.getSimpleName())) {
            proc = createPutPrcEntityPbDelete();
          } else if (pBeanName
            .equals(PrcEntityFDelete.class.getSimpleName())) {
            proc = createPutPrcEntityFDelete();
          } else if (pBeanName
            .equals(PrcEntityFSave.class.getSimpleName())) {
            proc = createPutPrcEntityFSave();
          } else if (pBeanName
            .equals(PrcEntityFfolDelete.class.getSimpleName())) {
            proc = createPutPrcEntityFfolDelete();
          } else if (pBeanName
            .equals(PrcEntityFfolSave.class.getSimpleName())) {
            proc = createPutPrcEntityFfolSave();
          } else if (pBeanName
            .equals(PrcEntityFolDelete.class.getSimpleName())) {
            proc = createPutPrcEntityFolDelete();
          } else if (pBeanName
            .equals(PrcEntityFolSave.class.getSimpleName())) {
            proc = createPutPrcEntityFolSave();
          } else if (pBeanName
            .equals(PrcEntityPbCopy.class.getSimpleName())) {
            proc = createPutPrcEntityPbCopy();
          } else if (pBeanName
            .equals(PrcEntityCopy.class.getSimpleName())) {
            proc = createPutPrcEntityCopy();
          } else if (pBeanName
            .equals(PrcEntityPbSave.class.getSimpleName())) {
            proc = createPutPrcEntityPbSave();
          } else if (pBeanName
            .equals(PrcEntityPbEditDelete.class.getSimpleName())) {
            proc = createPutPrcEntityPbEditDelete();
          } else if (pBeanName
            .equals(PrcEmailMsgSave.class.getSimpleName())) {
            proc = createPutPrcEmailMsgSave();
          } else if (pBeanName
            .equals(PrcEntitySave.class.getSimpleName())) {
            proc = createPutPrcEntitySave();
          }
        }
      }
    }
    if (!this.isItSubfactory && proc == null) {
      throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE,
        "There is no entity processor with name " + pBeanName);
    }
    return proc;
  }
@ Override public final IEntityProcessor lazyGet ( final Map < String , Object > pAddParam , final String pBeanName ) throws Exception { IEntityProcessor proc = this . processorsMap . get ( pBeanName ) ; if ( proc == null ) { synchronized ( this . processorsMap ) { proc = this . processorsMap . get ( pBeanName ) ; if ( proc == null ) { if ( pBeanName . equals ( PrcEntityRetrieve . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityRetrieve ( ) ; } else if ( pBeanName . equals ( PrcMatchForeignLineCreate . class . getSimpleName ( ) ) ) { proc = createPutPrcMatchForeignLineCreate ( ) ; } else if ( pBeanName . equals ( PrcCsvColumnCreate . class . getSimpleName ( ) ) ) { proc = createPutPrcCsvColumnCreate ( ) ; } else if ( pBeanName . equals ( PrcEntityCreate . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityCreate ( ) ; } else if ( pBeanName . equals ( PrcEntityDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityDelete ( ) ; } else if ( pBeanName . equals ( PrcEntityPbDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityPbDelete ( ) ; } else if ( pBeanName . equals ( PrcEntityFDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFDelete ( ) ; } else if ( pBeanName . equals ( PrcEntityFSave . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFSave ( ) ; } else if ( pBeanName . equals ( PrcEntityFfolDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFfolDelete ( ) ; } else if ( pBeanName . equals ( PrcEntityFfolSave . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFfolSave ( ) ; } else if ( pBeanName . equals ( PrcEntityFolDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFolDelete ( ) ; } else if ( pBeanName . equals ( PrcEntityFolSave . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityFolSave ( ) ; } else if ( pBeanName . equals ( PrcEntityPbCopy . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityPbCopy ( ) ; } else if ( pBeanName . equals ( PrcEntityCopy . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityCopy ( ) ; } else if ( pBeanName . equals ( PrcEntityPbSave . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityPbSave ( ) ; } else if ( pBeanName . equals ( PrcEntityPbEditDelete . class . getSimpleName ( ) ) ) { proc = createPutPrcEntityPbEditDelete ( ) ; } else if ( pBeanName . equals ( PrcEmailMsgSave . class . getSimpleName ( ) ) ) { proc = createPutPrcEmailMsgSave ( ) ; } else if ( pBeanName . equals ( PrcEntitySave . class . getSimpleName ( ) ) ) { proc = createPutPrcEntitySave ( ) ; } } } } if ( ! this . isItSubfactory && proc == null ) { throw new ExceptionWithCode ( ExceptionWithCode . CONFIGURATION_MISTAKE , "There is no entity processor with name " + pBeanName ) ; } return proc ; }
<p>Get bean in lazy mode (if bean is null then initialize it).</p>
@param pAddParam additional param
@param pBeanName - bean name
@return requested bean
@throws Exception - an exception