//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;
import java.util.ArrayList;
import org.kde.qt.QVariant;

/**

 @brief A group of meta information items about a file
 This is one group of meta information items about a file (see
 KFileMetaInfo).
 		@short    @brief A group of meta information items about a file

*/
public class KFileMetaInfoGroup implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KFileMetaInfoGroup(Class dummy){}

	/**	
			 You usually don't need to use this constructor yourself. Let
		 KFileMetaInfo do it for you.
				@short
	*/
	// KFileMetaInfoGroup* KFileMetaInfoGroup(const QString& arg1,const KFileMimeTypeInfo* arg2); >>>> NOT CONVERTED
	/**	
		 Copy constructor
				@short    Copy constructor
	*/
	public KFileMetaInfoGroup(KFileMetaInfoGroup original) {
		newKFileMetaInfoGroup(original);
	}
	private native void newKFileMetaInfoGroup(KFileMetaInfoGroup original);
	/**	
		 Default constructor. This creates an "invalid" item
				@short    Default constructor.
	*/
	public KFileMetaInfoGroup() {
		newKFileMetaInfoGroup();
	}
	private native void newKFileMetaInfoGroup();
	/**	
		 Returns true if the item is valid, i.e. if it contains data, false
		 if it's invalid (created with the default constructor and not been
		 assigned anything), or if KFileMetaInfoGroup.item() didn't find
		 your requested item).
				@return true if valid, false if invalid
     
		@short    Returns true if the item is valid, i.
	*/
	public native boolean isValid();
	/**	
		 Returns false if the object contains data, true if it's empty. An
		 empty group is a group with no items (amazing, isn't it?).
				@return true if empty, false otherwise
     
		@short    Returns false if the object contains data, true if it's empty.
	*/
	public native boolean isEmpty();
	/**	
		 Returns true if an item as added or removed from the group.
				@return true if an item was added or removed from the group, otherwise
 false.

		@short    Returns true if an item as added or removed from the group.
	*/
	public native boolean isModified();
	/**	
		 Operator for convenience. It does the same as item(),
		 but you cannot specify a group to search in
		     		@short    Operator for convenience.
	*/
	public native KFileMetaInfoItem op_at(String key);
	/**	
		 This method searches for the specified item.
			@param key the key of the item to search
				@return the specified item if found, an invalid item, if not

		@short    This method searches for the specified item.
	*/
	public native KFileMetaInfoItem item(String key);
	/**	
		 Returns the item with the given <code>hint.</code>
			@param hint the hint of the item
				@return the item with the specified <code>hint</code>

		@short    Returns the item with the given <code>hint.</code>
	*/
	public native KFileMetaInfoItem item(int hint);
	/**	
		 Convenience function. Returns the value of the specified key.
		 It does the same as item(key).value().
			@param key the key of the item to search
				@return the value with the given key
     
		@short    Convenience function.
	*/
	public native QVariant value(String key);
	/**	
		 Use this method to get a list of keys in the specified group that
		 the plugin knows about. No variable keys.
		 For a group that doesn't support variable keys, all keys that this
		 group may have are returned. For a group that does support them, the
		 non-variable ones are returned. See KFileMetaInfo about variable
		 keys
				@return the list of keys supported for this mimetype

		@short    Use this method to get a list of keys in the specified group that  the plugin knows about.
	*/
	public native ArrayList supportedKeys();
	/**	
		 Returns true if this group supports adding or removing arbitrary
		 keys, false if not.
				@return true is variable keys are supported, false otherwise

		@short    Returns true if this group supports adding or removing arbitrary  keys, false if not.
	*/
	public native boolean supportsVariableKeys();
	/**	
		 Checks whether an item with the given <code>key</code> exists.
				@return true if an item for this <code>key</code> exists.
     
		@short    Checks whether an item with the given <code>key</code> exists.
	*/
	public native boolean contains(String key);
	/**	
		 Returns a list of all keys.
				@return a list of all keys in the order they were inserted.

		@short    Returns a list of all keys.
	*/
	public native ArrayList keys();
	/**	
		 Returns a list of all keys in preference order.
				@return a list of all keys in preference order.

		@short    Returns a list of all keys in preference order.
	*/
	public native ArrayList preferredKeys();
	/**	
		 Add an item to the info. This is only possible if the specified <code>key</code>
		 is in the supportedKeys list and not yet defined or if
		 the group supports variable keys.
			@param key the key of the item
				@return the KFileMetaInfoItem for the given <code>key</code>

		@short    Add an item to the info.
	*/
	public native KFileMetaInfoItem addItem(String key);
	/**	
		 Remove this item from the meta info of the file. You cannot query
		 KFileMetaInfo for a removed object, but you can query for a list of
		 removed items with removedItems() if you need to.
		 If you re-add it, its value will be cleared.
			@param key the key of the removed item
				@return true if successful, false otherwise
     
		@short    Remove this item from the meta info of the file.
	*/
	public native boolean removeItem(String key);
	/**	
		 Returns a list of all removed items.
				@return a list of all removed items
     
		@short    Returns a list of all removed items.
	*/
	public native ArrayList removedItems();
	/**	
		 The name of this group.
				@return the name of this group
     
		@short    The name of this group.
	*/
	public native String name();
	/**	
		 The translated name of this group.
				@return the translated name of this group

		@short    The translated name of this group.
	*/
	public native String translatedName();
	/**	
		 Returns the attributes of this item.
				@return the attributes
     
		@short    Returns the attributes of this item.
	*/
	public native int attributes();
	protected native void setAdded();
	protected native KFileMetaInfoItem appendItem(String key, QVariant value);
	protected native void ref();
	protected native void deref();
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
