docs: public String getFileName(String strFileName, String strPackage, CodeType codeType, boolean fullPath, boolean sourcePath)
      {
          ProgramControl recProgramControl = (ProgramControl)this.getRecordOwner().getRecord(ProgramControl.PROGRAM_CONTROL_FILE);
          if (recProgramControl == null)
              recProgramControl = new ProgramControl(this.findRecordOwner());
          
          String packagePath = DBConstants.BLANK;
          if (strPackage != null)
          {
              strPackage = this.getFullPackage(codeType, strPackage);
              packagePath = strPackage.replace('.', '/') + "/";
          }
          
          String strFileRoot = DBConstants.BLANK;
          if (fullPath)
          {
              strFileRoot = recProgramControl.getBasePath();
              if (!strFileRoot.endsWith("/"))
                  strFileRoot += "/";
          }
          String strSourcePath = null;
          if (sourcePath)
          {
              strSourcePath = recProgramControl.getField(ProgramControl.SOURCE_DIRECTORY).toString();
              if (codeType == CodeType.RESOURCE_PROPERTIES)
                  if (!recProgramControl.getField(ProgramControl.RESOURCES_DIRECTORY).isNull())
                      strSourcePath = recProgramControl.getField(ProgramControl.RESOURCES_DIRECTORY).toString();
          }
          else
              strSourcePath = recProgramControl.getField(ProgramControl.CLASS_DIRECTORY).toString();
          if ((this.getEditMode() == DBConstants.EDIT_CURRENT) || (this.getEditMode() == DBConstants.EDIT_IN_PROGRESS))
          {
              String strSrcPath = this.getPath(codeType, false);
              if (strSrcPath.length() > 0)
              {
                  if (!strSrcPath.endsWith("/"))
                      strSrcPath += "/";
                  if (!strSrcPath.endsWith(strSourcePath))
                      strSourcePath = strSrcPath + strSourcePath;
                  else
                      strSourcePath = strSrcPath;
              }
          }
          
          if (strFileName == null)
              strFileName = DBConstants.BLANK;
          if (strFileName.length() > 0)
              if (strFileName.indexOf(".") == -1)
          {
              if (codeType == CodeType.RESOURCE_PROPERTIES)
                  strFileName = strFileName + ".properties";
              else
                  strFileName = strFileName + ".java";
          }
          strFileName = strFileRoot + strSourcePath + packagePath + strFileName;
          return strFileName;
      }