X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Tools%2FSource%2FFrameworkTasks%2Forg%2Ftianocore%2Fframework%2Ftasks%2FToolArg.java;h=ade68179552de59acdde3f445724a245ffbd7b39;hb=76c86b3ac42df05d2116346bb95cf9462eb2729c;hp=b5fbdfe81e2fa2c0532be53cf0da6e01d0caee0c;hpb=878ddf1fc3540a715f63594ed22b6929e881afb4;p=mirror_edk2.git diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/ToolArg.java index b5fbdfe81e..ade6817955 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,138 @@ 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 ToolArg() { + } + + /** + Constructor which will initialize the prefix of this argument + + @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) { + // + // 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 line; + return this.toString(); } /** - Set method of ANT task/datatype for attribute "line" + Compose a complete argument string. - @param line The argument string + @return String The complete argument + */ + public String toString() { + return super.toString(prefix); + } + + /** + Check if the argument is empty or not + + @return boolean **/ - public void setLine(String line) { - this.line = line; - } -} \ No newline at end of file + public boolean isEmpty() { + return (prefix.length() == 0) && (nameList.isEmpty()); + } +}