X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkTasks%2Forg%2Ftianocore%2Fframework%2Ftasks%2FToolArg.java;h=2694f036deff31ced80fb58ffb5b561459483fa3;hp=b5fbdfe81e2fa2c0532be53cf0da6e01d0caee0c;hb=93f5dd0a0e476c3eca7bd2f8375733b49e5f1b66;hpb=5117b83be8d73a9c5d15b236e57e4d194d1d9428 diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java index b5fbdfe81e..2694f036de 100644 --- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java +++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java @@ -1,5 +1,5 @@ /** @file -This file is to define nested element which is meant for specifying tool arguments +This file is used to nest elements which is meant for tool's argument Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials @@ -14,29 +14,129 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. package org.tianocore.framework.tasks; /** - Class ToolArg is just used to specify arguments for genffsfile tool + ToolArg class is defined to represent the argument of a tool. The argument + includes the prefix (e.g. -I, -o) and the value. **/ -public class ToolArg { +public class ToolArg extends NestElement { /// - /// keep the argument string - /// - private String line = ""; + /// A constant which is used to represent an empty argument + /// + public final static ToolArg EMPTY_ARG = new ToolArg(); - /** - Get method of ANT task/datatype for attribute "line" + // + // Keep track the prefix of this argument + // + private String prefix = ""; - @returns The argument string + /** + Default constructor **/ - public String getLine() { - return line; + public ToolArg() { } /** - Set method of ANT task/datatype for attribute "line" + Constructor which will initialize the prefix of this argument - @param line The argument string - **/ + @param prefix The string of prefix + */ + public ToolArg(String prefix) { + this.prefix = prefix; + } + + /** + Constructor which will initialize both the prefix and value of this argument + + @param prefix The prefix of this argument + @param value The value of this argument + */ + public ToolArg(String prefix, String value) { + setArg(prefix, value); + } + + /** + Set the prefix and value of this argument + + @param prefix The prefix of this argument + @param value The value of this argument + */ + public void setArg(String prefix, String value) { + this.prefix = prefix; + super.setName(value); + } + + /** + Set the prefix of this argument + + @param prefix The prefix of this argument + */ + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + /** + Get the prefix of this argument + + @return String The prefix of this argument + */ + public String getPrefix() { + return this.prefix.trim(); + } + + /** + Set the value of this argument + + @param value The value of this argument + */ + public void setValue(String value) { + super.setName(value); + } + + /** + Add a value for this argument + + @param value The value of this argument + */ + public void insValue(String value) { + super.insName(value); + } + + /** + Get the value list of this argument, separated by space + + @return String The value list + */ + public String getValue() { + return super.toString(" ").trim(); + } + + /** + Set the argument as a whole + + @param line The argument string line + */ public void setLine(String line) { - this.line = line; - } -} \ No newline at end of file + // + // Since the prefix is in the "line", we don't need another prefix. + // + this.prefix = " "; + super.setName(line); + } + + /** + Get the argument line + + @return String The argument string line + */ + public String getLine() { + return this.toString(); + } + + /** + Compose a complete argument string. + + @return String The complete argument + */ + public String toString() { + return super.toString(prefix); + } +}