Constructor and Description |
---|
Attribute()
Construct an empty attribute
|
Attribute(String line)
Construct an attribute by parsing a line from the Manifest
|
Attribute(String name,
String value)
Construct a manifest by specifying its name and value
|
Modifier and Type | Method and Description |
---|---|
void |
addContinuation(String line)
Add a continuation line from the Manifest file.
|
void |
addValue(String value)
Add a new value to this attribute - making it multivalued.
|
boolean |
equals(Object rhs)
Indicates whether some other object is "equal to" this one.
|
String |
getKey()
Get the attribute's Key - its name in lower case.
|
String |
getName()
Get the Attribute's name
|
String |
getValue()
Get the Attribute's value.
|
Enumeration<String> |
getValues()
Get all the attribute's values.
|
int |
hashCode()
Returns a hash code value for the object.
|
void |
parse(String line)
Parse a line into name and value pairs
|
void |
setName(String name)
Set the Attribute's name; required
|
void |
setValue(String value)
Set the Attribute's value; required
|
void |
write(PrintWriter writer)
Write the attribute out to a print writer without
flattening multi-values attributes (i.e.
|
void |
write(PrintWriter writer,
boolean flatten)
Write the attribute out to a print writer.
|
public Attribute()
public Attribute(String line) throws ManifestException
line
- the line containing the attribute name and valueManifestException
- if the line is not validpublic void addContinuation(String line)
line
- the continuation line.public void addValue(String value)
value
- the attribute's additional valuepublic boolean equals(Object rhs)
Object
The equals
method implements an equivalence relation on non-null object references:
x
, x.equals(x)
should return true
.
x
and y
,
x.equals(y)
should return true
if and only if y.equals(x)
returns
true
.
x
, y
, and
z
, if x.equals(y)
returns true
and y.equals(z)
returns
true
, then x.equals(z)
should return true
.
x
and y
, multiple
invocations of x.equals(y)
consistently return true
or consistently return
false
, provided no information used in equals
comparisons on the objects is
modified.
x
, x.equals(null)
should return
false
.
The equals
method for class Object
implements the most discriminating possible
equivalence relation on objects; that is, for any non-null reference values x
and
y
, this method returns true
if and only if x
and y
refer to the
same object (x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method
is overridden, so as to maintain the general contract for the hashCode
method, which
states that equal objects must have equal hash codes.
equals
in class Object
rhs
- the object to check for equality.Object.equals(java.lang.Object)
public String getKey()
public String getName()
public String getValue()
public Enumeration<String> getValues()
public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method must consistently return the same integer, provided no
information used in equals
comparisons on the object is modified. This integer need not
remain consistent from one execution of an application to another execution of the same
application.
equals(Object)
method, then calling the
hashCode
method on each of the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer
should be aware that producing distinct integer results for unequal objects may improve the
performance of hash tables.
As much as is reasonably practical, the hashCode method defined by class Object
does
return distinct integers for distinct objects. (This is typically implemented by converting the
internal address of the object into an integer, but this implementation technique is not required
by the JavaTM programming language.)
hashCode
in class Object
Object.hashCode()
public void parse(String line) throws ManifestException
line
- the line to be parsedManifestException
- if the line does not contain a colon
separating the name and valuepublic void setName(String name)
name
- the attribute's namepublic void setValue(String value)
value
- the attribute's valuepublic void write(PrintWriter writer) throws IOException
writer
- the Writer to which the attribute is writtenIOException
- if the attribute value cannot be writtenpublic void write(PrintWriter writer, boolean flatten) throws IOException
writer
- the Writer to which the attribute is writtenflatten
- whether to collapse multi-valued attributes
(i.e. potentially Class-Path) Class-Path into a
single attribute.IOException
- if the attribute value cannot be written