/**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aUser !== null) {
             if (!$this->aUser->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures());
             }
         }
         if ($this->aVocabulary !== null) {
             if (!$this->aVocabulary->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabulary->getValidationFailures());
             }
         }
         if (($retval = VocabularyHasVersionPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aUserRelatedByCreatedUserId !== null) {
             if (!$this->aUserRelatedByCreatedUserId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUserRelatedByCreatedUserId->getValidationFailures());
             }
         }
         if ($this->aUserRelatedByUpdatedUserId !== null) {
             if (!$this->aUserRelatedByUpdatedUserId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUserRelatedByUpdatedUserId->getValidationFailures());
             }
         }
         if ($this->aConceptRelatedByConceptId !== null) {
             if (!$this->aConceptRelatedByConceptId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptRelatedByConceptId->getValidationFailures());
             }
         }
         if ($this->aProfilePropertyRelatedBySkosPropertyId !== null) {
             if (!$this->aProfilePropertyRelatedBySkosPropertyId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aProfilePropertyRelatedBySkosPropertyId->getValidationFailures());
             }
         }
         if ($this->aVocabulary !== null) {
             if (!$this->aVocabulary->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabulary->getValidationFailures());
             }
         }
         if ($this->aConceptRelatedByRelatedConceptId !== null) {
             if (!$this->aConceptRelatedByRelatedConceptId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptRelatedByRelatedConceptId->getValidationFailures());
             }
         }
         if ($this->aStatus !== null) {
             if (!$this->aStatus->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aStatus->getValidationFailures());
             }
         }
         if ($this->aProfilePropertyRelatedByProfilePropertyId !== null) {
             if (!$this->aProfilePropertyRelatedByProfilePropertyId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aProfilePropertyRelatedByProfilePropertyId->getValidationFailures());
             }
         }
         if (($retval = ConceptPropertyPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         if ($this->collConcepts !== null) {
             foreach ($this->collConcepts as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collConceptPropertyHistorys !== null) {
             foreach ($this->collConceptPropertyHistorys as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collDiscusss !== null) {
             foreach ($this->collDiscusss as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aConceptProperty !== null) {
             if (!$this->aConceptProperty->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptProperty->getValidationFailures());
             }
         }
         if ($this->aConceptRelatedByConceptId !== null) {
             if (!$this->aConceptRelatedByConceptId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptRelatedByConceptId->getValidationFailures());
             }
         }
         if ($this->aVocabularyRelatedByVocabularyId !== null) {
             if (!$this->aVocabularyRelatedByVocabularyId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabularyRelatedByVocabularyId->getValidationFailures());
             }
         }
         if ($this->aSkosProperty !== null) {
             if (!$this->aSkosProperty->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSkosProperty->getValidationFailures());
             }
         }
         if ($this->aVocabularyRelatedBySchemeId !== null) {
             if (!$this->aVocabularyRelatedBySchemeId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabularyRelatedBySchemeId->getValidationFailures());
             }
         }
         if ($this->aConceptRelatedByRelatedConceptId !== null) {
             if (!$this->aConceptRelatedByRelatedConceptId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptRelatedByRelatedConceptId->getValidationFailures());
             }
         }
         if ($this->aStatus !== null) {
             if (!$this->aStatus->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aStatus->getValidationFailures());
             }
         }
         if ($this->aUser !== null) {
             if (!$this->aUser->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures());
             }
         }
         if ($this->aFileImportHistory !== null) {
             if (!$this->aFileImportHistory->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aFileImportHistory->getValidationFailures());
             }
         }
         if (($retval = ConceptPropertyHistoryPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aUser !== null) {
             if (!$this->aUser->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures());
             }
         }
         if ($this->aVocabulary !== null) {
             if (!$this->aVocabulary->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabulary->getValidationFailures());
             }
         }
         if ($this->aSchema !== null) {
             if (!$this->aSchema->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSchema->getValidationFailures());
             }
         }
         if ($this->aBatch !== null) {
             if (!$this->aBatch->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aBatch->getValidationFailures());
             }
         }
         if (($retval = FileImportHistoryPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         if ($this->collConceptPropertyHistorys !== null) {
             foreach ($this->collConceptPropertyHistorys as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collSchemaPropertyElementHistorys !== null) {
             foreach ($this->collSchemaPropertyElementHistorys as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aUserRelatedByCreatedUserId !== null) {
             if (!$this->aUserRelatedByCreatedUserId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUserRelatedByCreatedUserId->getValidationFailures());
             }
         }
         if ($this->aUserRelatedByDeletedUserId !== null) {
             if (!$this->aUserRelatedByDeletedUserId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aUserRelatedByDeletedUserId->getValidationFailures());
             }
         }
         if ($this->aSchema !== null) {
             if (!$this->aSchema->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSchema->getValidationFailures());
             }
         }
         if ($this->aSchemaProperty !== null) {
             if (!$this->aSchemaProperty->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSchemaProperty->getValidationFailures());
             }
         }
         if ($this->aSchemaPropertyElement !== null) {
             if (!$this->aSchemaPropertyElement->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSchemaPropertyElement->getValidationFailures());
             }
         }
         if ($this->aVocabulary !== null) {
             if (!$this->aVocabulary->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aVocabulary->getValidationFailures());
             }
         }
         if ($this->aConcept !== null) {
             if (!$this->aConcept->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConcept->getValidationFailures());
             }
         }
         if ($this->aConceptProperty !== null) {
             if (!$this->aConceptProperty->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aConceptProperty->getValidationFailures());
             }
         }
         if ($this->aDiscussRelatedByRootId !== null) {
             if (!$this->aDiscussRelatedByRootId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aDiscussRelatedByRootId->getValidationFailures());
             }
         }
         if ($this->aDiscussRelatedByParentId !== null) {
             if (!$this->aDiscussRelatedByParentId->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aDiscussRelatedByParentId->getValidationFailures());
             }
         }
         if (($retval = DiscussPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }