com.amazon.ion.impl._Private_CommandLine Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ion-java Show documentation
Show all versions of ion-java Show documentation
A Java implementation of the Amazon Ion data notation.
/*
* Copyright 2007-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file 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 com.amazon.ion.impl;
import com.amazon.ion.IonType;
import com.amazon.ion.IonWriter;
import com.amazon.ion.system.IonTextWriterBuilder;
import com.amazon.ion.util.JarInfo;
import java.io.IOException;
/**
* NOT FOR APPLICATION USE!
*/
public final class _Private_CommandLine
{
static final int argid_VERSION = 2;
static final int argid_HELP = 3;
static final int argid_INVALID = -1;
static JarInfo info = null;
static boolean printHelp = false;
static boolean printVersion = false;
static String errorMessage = null;
/**
* This main simply prints the version information to
* allow users to identify the build version of the Jar.
*
* @param args user command line flags
*/
public static void main(String[] args) throws IOException
{
process_command_line(args);
info = new JarInfo();
if (printVersion) {
doPrintVersion();
}
if (printHelp) {
doPrintHelp();
}
}
private static void process_command_line(String[] args)
{
if (args.length == 0) printHelp = true;
for (int ii=0; ii 2) {
if (arg.equals("--help")) {
return argid_HELP;
}
if (arg.equals("--version")) {
return argid_VERSION;
}
}
return argid_INVALID;
}
private static void invalid_arg(int ii, String arg)
{
errorMessage += "\narg["+ii+"] \""+arg+"\" is unrecognized or invalid.";
printHelp = true;
}
private static void doPrintHelp() {
System.out.println("ion-java -- Copyright (c) 2007-" + info.getBuildTime().getYear() + " Amazon.com");
System.out.println("usage: java -jar ");
System.out.println("options:");
System.out.println("version\t\tprints current version entry");
System.out.println("help\t\tprints this helpful message");
if (errorMessage != null) {
System.out.println();
System.out.println(errorMessage);
}
}
private static void doPrintVersion() throws IOException
{
IonTextWriterBuilder b = IonTextWriterBuilder.pretty();
b.setCharset(IonTextWriterBuilder.ASCII);
IonWriter w = b.build((Appendable)System.out);
w.stepIn(IonType.STRUCT);
{
w.setFieldName("version");
w.writeString(info.getProjectVersion());
w.setFieldName("build_time");
w.writeTimestamp(info.getBuildTime());
}
w.stepOut();
w.finish();
System.out.println();
}
}