text: //
  //  Generated by the J2ObjC translator.  DO NOT EDIT!
  //  source: android/libcore/luni/src/main/java/java/util/jar/Attributes.java
  //
  
  #ifndef _JavaUtilJarAttributes_H_
  #define _JavaUtilJarAttributes_H_
  
  #include "J2ObjC_header.h"
  #include "java/util/Map.h"
  
  @class JavaUtilJarAttributes_Name;
  @protocol JavaUtilCollection;
  @protocol JavaUtilSet;
  
  /*!
   @brief The <code>Attributes</code> class is used to store values for manifest entries.
   Attribute keys are generally instances of <code>Attributes.Name</code>. Values
   associated with attribute keys are of type <code>String</code>.
   */
  @interface JavaUtilJarAttributes : NSObject < NSCopying, JavaUtilMap > {
   @public
    /*!
     @brief The <code>Attributes</code> as name/value pairs.
     Maps the attribute names (as
   <code>Attributes.Name</code>) of a JAR file manifest to arbitrary values. The
   attribute names thus are obtained from the <code>Manifest</code> for
   convenience.
     */
    id<JavaUtilMap> map_;
  }
  
  #pragma mark Public
  
  /*!
   @brief Constructs an <code>Attributes</code> instance.
   */
  - (instancetype)init;
  
  /*!
   @brief Constructs an <code>Attributes</code> instance obtaining keys and values from
   the parameter <code>attrib</code>.
   @param attrib
   The attributes to obtain entries from.
   */
  - (instancetype)initWithJavaUtilJarAttributes:(JavaUtilJarAttributes *)attrib;
  
  /*!
   @brief Constructs an <code>Attributes</code> instance with initial capacity of size
   <code>size</code>.
   @param size
   Initial size of this <code>Attributes</code> instance.
   */
  - (instancetype)initWithInt:(jint)size;
  
  /*!
   @brief Removes all key/value pairs from this <code>Attributes</code>.
   */
  - (void)clear;
  
  - (id)clone;
  
  /*!
   @brief Determines whether this <code>Attributes</code> contains the specified key.
   @param key
   The key to search for.
   @return <code>true</code> if the key is found, <code>false</code> otherwise.
   */
  - (jboolean)containsKeyWithId:(id)key;
  
  /*!
   @brief Determines whether this <code>Attributes</code> contains the specified value.
   @param value
   the value to search for.
   @return <code>true</code> if the value is found, <code>false</code> otherwise.
   */
  - (jboolean)containsValueWithId:(id)value;
  
  /*!
   @brief Returns a set containing map entries for each of the key/value pair
   contained in this <code>Attributes</code>.
   @return a set of Map.Entry's
   */
  - (id<JavaUtilSet>)entrySet;
  
  /*!
   @brief Determines if this <code>Attributes</code> and the parameter <code>Attributes</code>
    are equal.
   Two <code>Attributes</code> instances are equal if they
   contain the same keys and values.
   @param obj
   the object with which this <code>Attributes</code> is compared.
   @return <code>true</code> if the <code>Attributes</code> are equal, <code>false</code>
   otherwise.
   */
  - (jboolean)isEqual:(id)obj;
  
  /*!
   @brief Returns the value associated with the parameter key.
   @param key
   the key to search for.
   @return Object associated with key, or <code>null</code> if key does not
   exist.
   */
  - (id)getWithId:(id)key;
  
  /*!
   @brief Returns the value associated with the parameter <code>Attributes.Name</code>
   key.
   @param name
   the key to obtain the value for.
   @return the <code>String</code> associated with name, or <code>null</code> if name
   is not a valid key.
   */
  - (NSString *)getValueWithJavaUtilJarAttributes_Name:(JavaUtilJarAttributes_Name *)name;
  
  /*!
   @brief Returns the string associated with the parameter name.
   @param name
   the key to obtain the value for.
   @return the string associated with name, or <code>null</code> if name is not a
   valid key.
   */
  - (NSString *)getValueWithNSString:(NSString *)name;
  
  /*!
   @brief Returns the hash code of this <code>Attributes</code>.
   @return the hash code of this object.
   */
  - (NSUInteger)hash;
  
  /*!
   @brief Determines whether this <code>Attributes</code> contains any keys.
   @return <code>true</code> if one or more keys exist, <code>false</code> otherwise.
   */
  - (jboolean)isEmpty;
  
  /*!
   @brief Returns a <code>Set</code> containing all the keys found in this <code>Attributes</code>
   .
   @return a <code>Set</code> of all keys.
   */
  - (id<JavaUtilSet>)keySet;
  
  /*!
   @brief Stores key/value pairs in this <code>Attributes</code>.
   @param key
   the key to associate with value.
   @param value
   the value to store in this <code>Attributes</code>.
   @return the value being stored.
   @throws ClassCastException
   when key is not an <code>Attributes.Name</code> or value is not
   a <code>String</code>.
   */
  - (id)putWithId:(id)key
           withId:(id)value;
  
  /*!
   @brief Stores all the key/value pairs in the argument in this <code>Attributes</code>
   .
   @param attrib
   the associations to store (must be of type <code>Attributes</code>
   ).
   */
  - (void)putAllWithJavaUtilMap:(id<JavaUtilMap>)attrib;
  
  /*!
   @brief Stores the value <code>value</code> associated with the key <code>name</code> in this
   <code>Attributes</code>.
   @return the value being stored.
   */
  - (NSString *)putValueWithNSString:(NSString *)name
                        withNSString:(NSString *)value;
  
  /*!
   @brief Deletes the key/value pair with key <code>key</code> from this <code>Attributes</code>
   .
   @param key
   the key to remove.
   @return the values associated with the removed key, <code>null</code> if not
   present.
   */
  - (id)removeWithId:(id)key;
  
  /*!
   @brief Returns the number of key/value pairs associated with this <code>Attributes</code>
   .
   @return the size of this <code>Attributes</code>.
   */
  - (jint)size;
  
  /*!
   @brief Returns a collection of all the values present in this <code>Attributes</code>
   .
   @return a collection of all values present.
   */
  - (id<JavaUtilCollection>)values;
  
  @end
  
  J2OBJC_EMPTY_STATIC_INIT(JavaUtilJarAttributes)
  
  J2OBJC_FIELD_SETTER(JavaUtilJarAttributes, map_, id<JavaUtilMap>)
  
  FOUNDATION_EXPORT void JavaUtilJarAttributes_init(JavaUtilJarAttributes *self);
  
  FOUNDATION_EXPORT JavaUtilJarAttributes *new_JavaUtilJarAttributes_init() NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaUtilJarAttributes_initWithJavaUtilJarAttributes_(JavaUtilJarAttributes *self, JavaUtilJarAttributes *attrib);
  
  FOUNDATION_EXPORT JavaUtilJarAttributes *new_JavaUtilJarAttributes_initWithJavaUtilJarAttributes_(JavaUtilJarAttributes *attrib) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaUtilJarAttributes_initWithInt_(JavaUtilJarAttributes *self, jint size);
  
  FOUNDATION_EXPORT JavaUtilJarAttributes *new_JavaUtilJarAttributes_initWithInt_(jint size) NS_RETURNS_RETAINED;
  
  J2OBJC_TYPE_LITERAL_HEADER(JavaUtilJarAttributes)
  
  /*!
   @brief The name part of the name/value pairs constituting an attribute as
   defined by the specification of the JAR manifest.
   May be composed of the
   following ASCII signs as defined in the EBNF below:
   @code
  
    name       = alphanum *headerchar
    headerchar = alphanum | - | _
    alphanum   = {A-Z} | {a-z} | {0-9}
    
  @endcode
   */
  @interface JavaUtilJarAttributes_Name : NSObject
  
  #pragma mark Public
  
  - (instancetype)initWithNSString:(NSString *)name;
  
  - (jboolean)isEqual:(id)object;
  
  - (NSUInteger)hash;
  
  - (NSString *)description;
  
  #pragma mark Package-Private
  
  - (NSString *)getName;
  
  @end
  
  J2OBJC_STATIC_INIT(JavaUtilJarAttributes_Name)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_CLASS_PATH_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, CLASS_PATH_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_MANIFEST_VERSION_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, MANIFEST_VERSION_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_MAIN_CLASS_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, MAIN_CLASS_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_SIGNATURE_VERSION_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, SIGNATURE_VERSION_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_CONTENT_TYPE_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, CONTENT_TYPE_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_SEALED_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, SEALED_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_IMPLEMENTATION_TITLE_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, IMPLEMENTATION_TITLE_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_IMPLEMENTATION_VERSION_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, IMPLEMENTATION_VERSION_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_IMPLEMENTATION_VENDOR_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, IMPLEMENTATION_VENDOR_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_SPECIFICATION_TITLE_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, SPECIFICATION_TITLE_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_SPECIFICATION_VERSION_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, SPECIFICATION_VERSION_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_SPECIFICATION_VENDOR_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, SPECIFICATION_VENDOR_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_EXTENSION_LIST_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, EXTENSION_LIST_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_EXTENSION_NAME_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, EXTENSION_NAME_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_EXTENSION_INSTALLATION_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, EXTENSION_INSTALLATION_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_IMPLEMENTATION_VENDOR_ID_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, IMPLEMENTATION_VENDOR_ID_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_IMPLEMENTATION_URL_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, IMPLEMENTATION_URL_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *JavaUtilJarAttributes_Name_NAME_;
  J2OBJC_STATIC_FIELD_GETTER(JavaUtilJarAttributes_Name, NAME_, JavaUtilJarAttributes_Name *)
  
  FOUNDATION_EXPORT void JavaUtilJarAttributes_Name_initWithNSString_(JavaUtilJarAttributes_Name *self, NSString *name);
  
  FOUNDATION_EXPORT JavaUtilJarAttributes_Name *new_JavaUtilJarAttributes_Name_initWithNSString_(NSString *name) NS_RETURNS_RETAINED;
  
  J2OBJC_TYPE_LITERAL_HEADER(JavaUtilJarAttributes_Name)
  
  #endif // _JavaUtilJarAttributes_H_
  