/*
* Copyright 2011-2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package vnet.sms.common.shell.springshell.internal.plugin;
import static vnet.sms.common.shell.springshell.internal.util.StringUtils.LINE_SEPARATOR;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import vnet.sms.common.shell.springshell.Constant;
import vnet.sms.common.shell.springshell.command.CommandMarker;
import vnet.sms.common.shell.springshell.internal.util.VersionUtils;
import vnet.sms.common.shell.springshell.plugin.BannerProvider;
/**
* Default Banner provider.
*
* @author Jarred Li
*
*/
@Order(Ordered.LOWEST_PRECEDENCE)
public class DefaultBannerProvider implements BannerProvider, CommandMarker {
public int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
}
@Override
public String getBanner() {
final StringBuilder sb = new StringBuilder();
// @formatter:off
sb.append(" ").append(LINE_SEPARATOR);
sb.append(" ---- ---- ----- ---------- ----------- --------- ---- --------- ").append(LINE_SEPARATOR);
sb.append(" \\ \\ / /\\ \\ \\_ _____/\\__ ___/ / _____/ / \\ / _____/ ").append(LINE_SEPARATOR);
sb.append(" \\ Y / / | \\ | __)_ | | ______ \\_____ \\ / \\ / \\ \\_____ \\ ").append(LINE_SEPARATOR);
sb.append(" \\ / / | \\| \\ | | /_____/ / \\/ Y \\/ \\ ").append(LINE_SEPARATOR);
sb.append(" \\___/ \\____|__ /_______ / |____| /_______ /\\____|__ /_______ / ").append(LINE_SEPARATOR);
sb.append(" \\/ \\/ \\/ \\/ \\/ ").append(" ").append(getVersion()).append(LINE_SEPARATOR);
sb.append(LINE_SEPARATOR);
// @formatter:on
return sb.toString();
}
@Override
public String getVersion() {
return VersionUtils.versionInfo();
}
@Override
public String getWelcomMessage() {
return Constant.WELCOME_MESSAGE;
}
@Override
public String name() {
return "default banner provider";
}
}