/**@class java.util.jar.Attributes
 implements java.util.Map

 implements java.lang.Cloneable

@extends java.lang.Object

 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. Attribute values can contain any characters and
 will be UTF8-encoded when written to the output stream.  See the
 <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html">JAR File Specification</a>
 for more information about valid attribute names and values.

 @author  David Connelly
 @see     Manifest
 @since   1.2
*/
var Attributes = {

/**Returns the value of the specified attribute name, or null if the
 attribute name was not found.
@param {Object {Object}} name the attribute name
@return {Object {java.lang.Object}} the value of the specified attribute name, or null if
         not found.
*/
get : function(  ) {},

/**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.
 <p>
 This method is defined as:
 <pre>
      return (String)get(new Attributes.Name((String)name));
 </pre>
@param {String} name the attribute name as a string
@return {String} the String value of the specified attribute name, or null if
         not found.
@throws IllegalArgumentException if the attribute name is invalid
*/
getValue : function(  ) {},

/**Returns the value of the specified Attributes.Name, or null if the
 attribute was not found.
 <p>
 This method is defined as:
 <pre>
     return (String)get(name);
 </pre>
@param {Object {Attributes.Name}} name the Attributes.Name object
@return {String} the String value of the specified Attribute.Name, or null if
         not found.
*/
getValue : function(  ) {},

/**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.
@param {Object {Object}} name the attribute name
@param {Object {Object}} value the attribute value
@return {Object {java.lang.Object}} the previous value of the attribute, or null if none
@exception ClassCastException if the name is not a Attributes.Name
            or the value is not a String
*/
put : function(  ) {},

/**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.
 <p>
 This method is defined as:
 <pre>
      return (String)put(new Attributes.Name(name), value);
 </pre>
@param {String} name the attribute name as a string
@param {String} value the attribute value
@return {String} the previous value of the attribute, or null if none
@exception IllegalArgumentException if the attribute name is invalid
*/
putValue : function(  ) {},

/**Removes the attribute with the specified name (key) from this Map.
 Returns the previous attribute value, or null if none.
@param {Object {Object}} name attribute name
@return {Object {java.lang.Object}} the previous value of the attribute, or null if none
*/
remove : function(  ) {},

/**Returns true if this Map maps one or more attribute names (keys)
 to the specified value.
@param {Object {Object}} value the attribute value
@return {Boolean} true if this Map maps one or more attribute names to
         the specified value
*/
containsValue : function(  ) {},

/**Returns true if this Map contains the specified attribute name (key).
@param {Object {Object}} name the attribute name
@return {Boolean} true if this Map contains the specified attribute name
*/
containsKey : function(  ) {},

/**Copies all of the attribute name-value mappings from the specified
 Attributes to this Map. Duplicate mappings will be replaced.
@param {Object {java.util.Map}} attr the Attributes to be stored in this map
@exception ClassCastException if attr is not an Attributes
*/
putAll : function(  ) {},

/**Removes all attributes from this Map.
*/
clear : function(  ) {},

/**Returns the number of attributes in this Map.
*/
size : function(  ) {},

/**Returns true if this Map contains no attributes.
*/
isEmpty : function(  ) {},

/**Returns a Set view of the attribute names (keys) contained in this Map.
*/
keySet : function(  ) {},

/**Returns a Collection view of the attribute values contained in this Map.
*/
values : function(  ) {},

/**Returns a Collection view of the attribute name-value mappings
 contained in this Map.
*/
entrySet : function(  ) {},

/**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.
@param {Object {Object}} o the Object to be compared
@return {Boolean} true if the specified Object is equal to this Map
*/
equals : function(  ) {},

/**Returns the hash code value for this Map.
*/
hashCode : function(  ) {},

/**Returns a copy of the Attributes, implemented as follows:
 <pre>
     public Object clone() { return new Attributes(this); }
 </pre>
 Since the attribute names and values are themselves immutable,
 the Attributes returned can be safely modified without affecting
 the original.
*/
clone : function(  ) {},


};