Class Attributes
- java.lang.Object
-
- java.util.jar.Attributes
public class Attributes extends Object implements Map<Object,Object>, Cloneable
The Attributes class maps Manifest attribute names to associated string values. Valid attribute names are case-insensitive, are restricted to the ASCII characters in the set [0-9a-zA-Z_-], and cannot exceed 70 characters in length. There must be a colon and a SPACE after the name; the combined length will not exceed 72 characters. Attribute values can contain any characters and will be UTF8-encoded when written to the output stream. See the JAR File Specification for more information about valid attribute names and values.
This map and its views have a predictable iteration order, namely the order that keys were inserted into the map, as with LinkedHashMap
.
- Since:
- 1.2
- See Also:
Manifest
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
static class | Attributes.Name | The Attributes.Name class represents an attribute name stored in this Map. |
Nested classes/interfaces declared in interface java.util.Map
Map.Entry<K,V>
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected Map<Object,Object> | map | The attribute name-value mappings. |
Constructor Summary
Constructor | Description |
---|---|
Attributes() | Constructs a new, empty Attributes object with default size. |
Attributes(int size) | Constructs a new, empty Attributes object with the specified initial size. |
Attributes(Attributes attr) | Constructs a new Attributes object with the same attribute name-value mappings as in the specified Attributes. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void | clear() | Removes all attributes from this Map. |
Object | clone() | Returns a copy of the Attributes, implemented as follows: |
boolean | containsKey(Object name) | Returns true if this Map contains the specified attribute name (key). |
boolean | containsValue(Object value) | Returns true if this Map maps one or more attribute names (keys) to the specified value. |
Set<Map.Entry<Object,Object>> | entrySet() | Returns a Collection view of the attribute name-value mappings contained in this Map. |
boolean | equals(Object o) | Compares the specified Attributes object with this Map for equality. |
Object | get(Object name) | Returns the value of the specified attribute name, or null if the attribute name was not found. |
String | getValue(String name) | Returns the value of the specified attribute name, specified as a string, or null if the attribute was not found. |
String | getValue(Attributes.Name name) | Returns the value of the specified Attributes.Name, or null if the attribute was not found. |
int | hashCode() | Returns the hash code value for this Map. |
boolean | isEmpty() | Returns true if this Map contains no attributes. |
Set<Object> | keySet() | Returns a Set view of the attribute names (keys) contained in this Map. |
Object | put(Object name,
Object value) | Associates the specified value with the specified attribute name (key) in this Map. |
void | putAll(Map<?,?> attr) | Copies all of the attribute name-value mappings from the specified Attributes to this Map. |
String | putValue(String name,
String value) | Associates the specified value with the specified attribute name, specified as a String. |
Object | remove(Object name) | Removes the attribute with the specified name (key) from this Map. |
int | size() | Returns the number of attributes in this Map. |
Collection<Object> | values() | Returns a Collection view of the attribute values contained in this Map. |
Methods declared in class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
Field Detail
map
protected Map<Object,Object> map
The attribute name-value mappings.
Constructor Detail
Attributes
public Attributes()
Constructs a new, empty Attributes object with default size.
Attributes
public Attributes(int size)
Constructs a new, empty Attributes object with the specified initial size.
- Parameters:
-
size
- the initial number of attributes
Attributes
public Attributes(Attributes attr)
Constructs a new Attributes object with the same attribute name-value mappings as in the specified Attributes.
- Parameters:
-
attr
- the specified Attributes
Method Detail
get
public Object get(Object name)
Returns the value of the specified attribute name, or null if the attribute name was not found.
- Specified by:
-
get
in interfaceMap<Object,Object>
- Parameters:
-
name
- the attribute name - Returns:
- the value of the specified attribute name, or null if not found.
getValue
public String getValue(String name)
Returns the value of the specified attribute name, specified as a string, or null if the attribute was not found. The attribute name is case-insensitive.
This method is defined as:
return (String)get(new Attributes.Name((String)name));
- Parameters:
-
name
- the attribute name as a string - Returns:
- the String value of the specified attribute name, or null if not found.
- Throws:
-
IllegalArgumentException
- if the attribute name is invalid
getValue
public String getValue(Attributes.Name name)
Returns the value of the specified Attributes.Name, or null if the attribute was not found.
This method is defined as:
return (String)get(name);
- Parameters:
-
name
- the Attributes.Name object - Returns:
- the String value of the specified Attribute.Name, or null if not found.
put
public Object put(Object name, Object value)
Associates the specified value with the specified attribute name (key) in this Map. If the Map previously contained a mapping for the attribute name, the old value is replaced.
- Specified by:
-
put
in interfaceMap<Object,Object>
- Parameters:
-
name
- the attribute name -
value
- the attribute value - Returns:
- the previous value of the attribute, or null if none
- Throws:
-
ClassCastException
- if the name is not a Attributes.Name or the value is not a String
putValue
public String putValue(String name, String value)
Associates the specified value with the specified attribute name, specified as a String. The attributes name is case-insensitive. If the Map previously contained a mapping for the attribute name, the old value is replaced.
This method is defined as:
return (String)put(new Attributes.Name(name), value);
- Parameters:
-
name
- the attribute name as a string -
value
- the attribute value - Returns:
- the previous value of the attribute, or null if none
- Throws:
-
IllegalArgumentException
- if the attribute name is invalid
remove
public Object remove(Object name)
Removes the attribute with the specified name (key) from this Map. Returns the previous attribute value, or null if none.
- Specified by:
-
remove
in interfaceMap<Object,Object>
- Parameters:
-
name
- attribute name - Returns:
- the previous value of the attribute, or null if none
containsValue
public boolean containsValue(Object value)
Returns true if this Map maps one or more attribute names (keys) to the specified value.
- Specified by:
-
containsValue
in interfaceMap<Object,Object>
- Parameters:
-
value
- the attribute value - Returns:
- true if this Map maps one or more attribute names to the specified value
containsKey
public boolean containsKey(Object name)
Returns true if this Map contains the specified attribute name (key).
- Specified by:
-
containsKey
in interfaceMap<Object,Object>
- Parameters:
-
name
- the attribute name - Returns:
- true if this Map contains the specified attribute name
putAll
public void putAll(Map<?,?> attr)
Copies all of the attribute name-value mappings from the specified Attributes to this Map. Duplicate mappings will be replaced.
- Specified by:
-
putAll
in interfaceMap<Object,Object>
- Parameters:
-
attr
- the Attributes to be stored in this map - Throws:
-
ClassCastException
- if attr is not an Attributes
clear
public void clear()
Removes all attributes from this Map.
size
public int size()
Returns the number of attributes in this Map.
- Specified by:
-
size
in interfaceMap<Object,Object>
- Returns:
- the number of key-value mappings in this map
isEmpty
public boolean isEmpty()
Returns true if this Map contains no attributes.
- Specified by:
-
isEmpty
in interfaceMap<Object,Object>
- Returns:
-
true
if this map contains no key-value mappings
keySet
public Set<Object> keySet()
Returns a Set view of the attribute names (keys) contained in this Map.
- Specified by:
-
keySet
in interfaceMap<Object,Object>
- Returns:
- a set view of the keys contained in this map
values
public Collection<Object> values()
Returns a Collection view of the attribute values contained in this Map.
- Specified by:
-
values
in interfaceMap<Object,Object>
- Returns:
- a collection view of the values contained in this map
entrySet
public Set<Map.Entry<Object,Object>> entrySet()
Returns a Collection view of the attribute name-value mappings contained in this Map.
- Specified by:
-
entrySet
in interfaceMap<Object,Object>
- Returns:
- a set view of the mappings contained in this map
equals
public boolean equals(Object o)
Compares the specified Attributes object with this Map for equality. Returns true if the given object is also an instance of Attributes and the two Attributes objects represent the same mappings.
- Specified by:
-
equals
in interfaceMap<Object,Object>
- Overrides:
-
equals
in classObject
- Parameters:
-
o
- the Object to be compared - Returns:
- true if the specified Object is equal to this Map
- See Also:
-
Object.hashCode()
,HashMap
hashCode
public int hashCode()
Returns the hash code value for this Map.
- Specified by:
-
hashCode
in interfaceMap<Object,Object>
- Overrides:
-
hashCode
in classObject
- Returns:
- a hash code value for this object.
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
clone
public Object clone()
Returns a copy of the Attributes, implemented as follows:
public Object clone() { return new Attributes(this); }Since the attribute names and values are themselves immutable, the Attributes returned can be safely modified without affecting the original.