private $helperInstance = NULL;
/**
- * An instance of a Sourceable class
+ * An instance of a Source class
*/
private $sourceInstance = NULL;
}
/**
- * Setter for a Sourceable instance
+ * Setter for a Source instance
*
- * @param $sourceInstance An instance of a Sourceable class
+ * @param $sourceInstance An instance of a Source class
* @return void
*/
- protected final function setSourceInstance (Sourceable $sourceInstance) {
+ protected final function setSourceInstance (Source $sourceInstance) {
$this->sourceInstance = $sourceInstance;
}
/**
- * Getter for a Sourceable instance
+ * Getter for a Source instance
*
- * @return $sourceInstance An instance of a Sourceable class
+ * @return $sourceInstance An instance of a Source class
*/
protected final function getSourceInstance () {
return $this->sourceInstance;
*/
protected final function getDatabaseEntry () {
// Is there an instance?
- if (is_null($this->getResultInstance())) {
+ if (!$this->getResultInstance() instanceof SearchableResult) {
// Throw an exception here
throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
} // END - if
//* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.':<pre>'.print_r($fieldArray, TRUE).'</pre>');
// Convert dashes to underscore
- $fieldName = $this->convertDashesToUnderscores($fieldName);
+ $fieldName2 = $this->convertDashesToUnderscores($fieldName);
// Does the field exist?
- if (isset($fieldArray[$fieldName])) {
+ if ($this->isFieldSet($fieldName)) {
// Get it
- $fieldValue = $fieldArray[$fieldName];
+ $fieldValue = $fieldArray[$fieldName2];
} elseif (defined('DEVELOPER')) {
// Missing field entry, may require debugging
self::createDebugInstance(__CLASS__)->debugOutput('[' . __METHOD__ . ':' . __LINE__ . ']:fieldArray<pre>=' . print_r($fieldArray, TRUE) . '</pre>,fieldName=' . $fieldName . ' not found!');
return $fieldValue;
}
+ /**
+ * Checks if given field is set
+ *
+ * @param $fieldName Field name to check
+ * @return $isSet Whether the given field name is set
+ * @throws NullPointerException If the result instance is null
+ */
+ public function isFieldSet ($fieldName) {
+ // Get result instance
+ $resultInstance = $this->getResultInstance();
+
+ // Is this instance null?
+ if (is_null($resultInstance)) {
+ // Then the user instance is no longer valid (expired cookies?)
+ throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
+ } // END - if
+
+ // Get current array
+ $fieldArray = $resultInstance->current();
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('[' . $this->__toString() . ':' . __LINE__ . '] fieldName=' . $fieldName . ',fieldArray=<pre>'.print_r($fieldArray, TRUE).'</pre>');
+
+ // Convert dashes to underscore
+ $fieldName = $this->convertDashesToUnderscores($fieldName);
+
+ // Determine it
+ $isSet = isset($fieldArray[$fieldName]);
+
+ // Return result
+ return $isSet;
+ }
+
/**
* Flushs all pending updates to the database layer
*