public ICFBamSecUserObj getCreatedBy() {
   if (createdBy == null) {
     CFBamValueBuff buff = getBuff();
     createdBy = getSchema().getSecUserTableObj().readSecUserByIdIdx(buff.getCreatedByUserId());
   }
   return (createdBy);
 }
 public static String formatValueBuffAttributes(String separator, CFBamValueBuff buff) {
   String retval =
       CFBamXMsgValueMessageFormatter.formatValuePKeyAttributes(separator, buff)
           + CFLibXmlUtil.formatRequiredInt32(separator, "Revision", buff.getRequiredRevision())
           + CFLibXmlUtil.formatOptionalUuid(separator, "CreatedBy", buff.getCreatedByUserId())
           + CFLibXmlUtil.formatOptionalTimestamp(separator, "CreatedAt", buff.getCreatedAt())
           + CFLibXmlUtil.formatOptionalUuid(separator, "UpdatedBy", buff.getUpdatedByUserId())
           + CFLibXmlUtil.formatOptionalTimestamp(separator, "UpdatedAt", buff.getUpdatedAt())
           + CFLibXmlUtil.formatRequiredInt64(separator, "ScopeId", buff.getRequiredScopeId())
           + CFLibXmlUtil.formatOptionalInt64(
               separator, "DefSchemaTenantId", buff.getOptionalDefSchemaTenantId())
           + CFLibXmlUtil.formatOptionalInt64(
               separator, "DefSchemaId", buff.getOptionalDefSchemaId())
           + CFLibXmlUtil.formatRequiredXmlString(separator, "Name", buff.getRequiredName())
           + CFLibXmlUtil.formatOptionalXmlString(
               separator, "ShortName", buff.getOptionalShortName())
           + CFLibXmlUtil.formatOptionalXmlString(separator, "Label", buff.getOptionalLabel())
           + CFLibXmlUtil.formatOptionalXmlString(
               separator, "ShortDescription", buff.getOptionalShortDescription())
           + CFLibXmlUtil.formatOptionalXmlString(
               separator, "Description", buff.getOptionalDescription())
           + CFLibXmlUtil.formatRequiredBoolean(
               separator, "IsNullable", buff.getRequiredIsNullable())
           + CFLibXmlUtil.formatOptionalBoolean(
               separator, "GenerateId", buff.getOptionalGenerateId())
           + CFLibXmlUtil.formatOptionalInt16(
               separator, "DataScopeId", buff.getOptionalDataScopeId())
           + CFLibXmlUtil.formatOptionalInt16(
               separator, "ViewAccessSecurityId", buff.getOptionalViewAccessSecurityId())
           + CFLibXmlUtil.formatOptionalInt16(
               separator, "EditAccessSecurityId", buff.getOptionalEditAccessSecurityId())
           + CFLibXmlUtil.formatOptionalInt16(
               separator, "ViewAccessFrequencyId", buff.getOptionalViewAccessFrequencyId())
           + CFLibXmlUtil.formatOptionalInt16(
               separator, "EditAccessFrequencyId", buff.getOptionalEditAccessFrequencyId())
           + CFLibXmlUtil.formatOptionalInt64(
               separator, "PrevTenantId", buff.getOptionalPrevTenantId())
           + CFLibXmlUtil.formatOptionalInt64(separator, "PrevId", buff.getOptionalPrevId())
           + CFLibXmlUtil.formatOptionalInt64(
               separator, "NextTenantId", buff.getOptionalNextTenantId())
           + CFLibXmlUtil.formatOptionalInt64(separator, "NextId", buff.getOptionalNextId())
           + CFLibXmlUtil.formatRequiredBoolean(
               separator, "DefaultVisibility", buff.getRequiredDefaultVisibility());
   return (retval);
 }