@param $alert
@param $context
@param $alertText

@internal param $type
179520
protected function renderSingleAlert($alert, $context, $alertText) {
		
		$classes = array('alert in');

		if (!isset($alert['fade'])) {
			$alert['fade'] = $this->fade;
		}

		if ($alert['fade'] === true) {
			$classes[] = 'fade';
		}

		if ($this->isValidContext($context)) {
			$classes[] = 'alert-' . $this->getContextClass($context);
		}

		if (!isset($alert['htmlOptions'])) {
			$alert['htmlOptions'] = array();
		}

		$classes = implode(' ', $classes);
		if (isset($alert['htmlOptions']['class'])) {
			$alert['htmlOptions']['class'] .= ' ' . $classes;
		} else {
			$alert['htmlOptions']['class'] = $classes;
		}

		echo CHtml::openTag('div', $alert['htmlOptions']);

		// Logic is this: if no type-specific `closeText` was defined, let's show `$this->closeText`.
		// Else, show type-specific `closeText`. Treat 'false' differently.
		if (!isset($alert['closeText'])) {
			$alert['closeText'] = (isset($this->closeText) && $this->closeText !== false)
				? $this->closeText
				: false;
		}

		// If `closeText` which is in effect now is `false` then do not show button.
		if ($alert['closeText'] !== false) {
			echo '<a href="#" class="close" data-dismiss="alert">' . $alert['closeText'] . '</a>';
		}

		echo $alertText;
		echo CHtml::closeTag('div');
	}
985900
protected function proxy() {
        if (!$this->context) {
            $this->context = new AlertContext($this->version, $this->solution['sid']);
        }

        return $this->context;
    }
663472
public function emergency($messageOrException, $contextOrException = null, array $context = array()) {
        $this->log(LogLevel::EMERGENCY, $messageOrException, $contextOrException, $context);
    }
518323
@Override
    public void setEnabled(boolean enabled) {
        if (this.enabled != enabled) {
            this.enabled = enabled;
            setProperty("enabled", Boolean.toString(enabled));
            if (enabled && getAlertThreshold() == AlertThreshold.OFF) {
                setAlertThreshold(AlertThreshold.DEFAULT);
            }
        }
    }
700033
public function info($messageOrException, $contextOrException = null, array $context = array()) {
        $this->log(LogLevel::INFO, $messageOrException, $contextOrException, $context);
    }
1189017
public static Optional<ButtonType> alert(String title, String header, String content, AlertType alertType) {
        return alert(title, header, content, alertType, Modality.NONE, null, StageStyle.DECORATED);
    }
978211
public function i($text, $context = array())
    {
        $this->log->info($text, $context);
        $this->emit(self::SIGNAL_INFORMATION_ENTERED);
    }
106164
public void setAlert(final boolean ALERT) {
        if (null == alert) {
            _alert = ALERT;
            fireUpdateEvent(ALERT_EVENT);
        } else {
            alert.set(ALERT);
        }
    }
1193665
public static Optional<ButtonType> alert(String title, String content, AlertType alertType) {
        return alert(title, null, content, alertType);
    }
302612
public function notice($messageOrException, $contextOrException = null, array $context = array()) {
        $this->log(LogLevel::NOTICE, $messageOrException, $contextOrException, $context);
    }
486609
private function resolveSingleType($type, Context $context)
    {
        switch (true) {
            case $this->isKeyword($type):
                return $this->resolveKeyword($type);
            case $this->isTypedArray($type):
                return $this->resolveTypedArray($type, $context);
            case $this->isFqsen($type):
                return $this->resolveTypedObject($type);
            case $this->isPartialStructuralElementName($type):
                return $this->resolveTypedObject($type, $context);
            // @codeCoverageIgnoreStart
            default:
                // I haven't got the foggiest how the logic would come here but added this as a defense.
                throw new \RuntimeException(
                    'Unable to resolve type "' . $type . '", there is no known method to resolve it'
                );
        }

        // @codeCoverageIgnoreEnd
    }
179628
function(type, handler, one) {
			var sig = this.spirit.$contextid;
			if (one) {
				if (this._global) {
					gui.Tick.oneGlobal(type, handler);
				} else {
					gui.Tick.one(type, handler, sig);
				}
			} else {
				if (this._global) {
					gui.Tick.addGlobal(type, handler);
				} else {
					gui.Tick.add(type, handler, sig);
				}
			}
		}
958203
public function critical($messageOrException, $contextOrException = null, array $context = array()) {
        $this->log(LogLevel::CRITICAL, $messageOrException, $contextOrException, $context);
    }
1212785
public function alert($message, array $context = array()) {
        $context['fromClass'] = get_called_class();
        foreach ($this->loggersInstances as $logger) {
            $logger->alert($message, $context);
        }
    }
1042669
public function setAlert($alert): Payload
    {
        if ($alert instanceof Alert || is_string($alert)) {
            $this->alert = $alert;
        }

        return $this;
    }
601843
public function alert(String $type, $content)
    {
        $content = $this->stringOrCallback($content);

        $this->isBootstrapAttribute('dismiss-fade', function() use(&$type)
        {
            $type .= ' alert-dismissible fade show';
        });

        $this->isBootstrapAttribute('dismiss-button', function($attribute) use(&$content)
        {
            $content .= $this->buttonDismissButton($this->spanDismissButton($attribute));  
        });

        return $this->role('alert')->class('alert alert-' . $type)->div($content);
    }
601746
public Collection<AlertCondition> list(long entityId, String entityType)
    {
        QueryParameterList queryParams = new QueryParameterList();
        queryParams.add("entity_type", entityType);
        return HTTP.GET(String.format("/v2/alerts_entity_conditions/%d.json", entityId), null, queryParams, ALERT_CONDITIONS).get();
    }