All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.slaves.OfflineCause Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *
 * Copyright (c) 2004-2009, Oracle Corporation
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *
 *
 *
 *
 *******************************************************************************/ 

package hudson.slaves;

import hudson.model.Computer;
import org.jvnet.localizer.Localizable;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.export.Exported;

/**
 * Represents a cause that puts a
 * {@linkplain Computer#isOffline() computer offline}.
 *
 * 

Views

{@link OfflineCause} must have cause.jelly that * renders a cause into HTML. This is used to tell users why the node is put * offline. This view should render a block element like DIV. * * @author Kohsuke Kawaguchi * @since 1.320 */ @ExportedBean public abstract class OfflineCause { /** * {@link OfflineCause} that renders a static text, but without any further * UI. */ public static class SimpleOfflineCause extends OfflineCause { //TODO: review and check whether we can do it private public final Localizable description; public Localizable getDescription() { return description; } private SimpleOfflineCause(Localizable description) { this.description = description; } @Exported(name = "description") @Override public String toString() { return description.toString(); } } public static OfflineCause create(Localizable d) { if (d == null) { return null; } return new SimpleOfflineCause(d); } /** * Caused by unexpected channel termination. */ public static class ChannelTermination extends OfflineCause { //TODO: review and check whether we can do it private @Exported public final Exception cause; public Exception getCause() { return cause; } public ChannelTermination(Exception cause) { this.cause = cause; } public String getShortDescription() { return cause.toString(); } } /** * Caused by failure to launch. */ public static class LaunchFailed extends OfflineCause { @Override public String toString() { return Messages.OfflineCause_LaunchFailed(); } } public static class ByCLI extends OfflineCause { //TODO: review and check whether we can do it private @Exported public final String message; public String getMessage() { return message; } public ByCLI(String message) { this.message = message; } @Override public String toString() { if (message == null) { return Messages.OfflineCause_DisconnectedFromCLI(); } return message; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy