1 /* 2 * Copyright (c) 2001-2005, 3 * RedVerst Group, ISP RAS http://www.ispras.ru 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright notice, this 10 * list of conditions and the following disclaimer. 11 * 12 * 2. Redistributions in binary form must reproduce the above copyright notice, 13 * this list of conditions and the following disclaimer in the documentation 14 * and/or other materials provided with the distribution. 15 * 16 * 3. The names "ATP", "TreeDL", "RedVerst", "ISP RAS" 17 * may not be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 24 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 package com.unitesk.atp.treedl; 33 34 import java.io.File; 35 36 import com.unitesk.atp.tree.tool.Tool; 37 38 /*** 39 * Main class of TreeDL processing tool. Provides {@link #main(String[])} method 40 * to start tool as standalone application and {@link #invoke(String[])} method 41 * to start tool from other Java program. 42 * 43 * @author <A href="mailto:demakov@ispras.ru">Alexey Demakov</A> 44 * @version $Id: Main.java,v 1.37 2006/03/13 12:40:02 all-x Exp $ 45 */ 46 public class Main extends Tool 47 { 48 protected void initName() 49 { 50 name = "treedl"; 51 version = TDL.Module.CURRENT_TREEDL_VERSION_MAJOR 52 + "." 53 + TDL.Module.CURRENT_TREEDL_VERSION_MINOR 54 + ".1.1-beta-060313"; 55 } 56 57 /*** 58 * The method for invocation of TreeDL tool from Java code. 59 * 60 * @param args Command line parameters 61 * @return Exit code 62 */ 63 public static int invoke( String[] args ) 64 { 65 return new Main().run( args ); 66 } 67 68 /*** 69 * Main method of TreeDL tool. 70 * @param args 71 */ 72 public static void main( String[] args ) 73 { 74 System.exit( invoke( args ) ); 75 } 76 77 /*** 78 * Parse file with tree description. 79 * 80 * @param file File to parse 81 */ 82 public void parse( File file ) 83 { 84 TDL_Module module = TDL_Module.load( this, file ); 85 setTree( module ); 86 } 87 }