package org.rococoa.cocoa.foundation;

/**
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.free.fr/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a>, <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
 */
public abstract class NSIndexSet extends org.rococoa.cocoa.foundation.NSObject implements org.rococoa.ObjCObject {
    /**
     * Original signature : <code>+(id)indexSet</code><br>
     * <i>native declaration : NSIndexSet.h:51</i>
     */
    public static org.rococoa.cocoa.foundation.NSIndexSet indexSet() {
        return getNSClass().indexSet();
    }

    /**
     * Original signature : <code>+(id)indexSetWithIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:52</i>
     */
    public static org.rococoa.cocoa.foundation.NSIndexSet indexSetWithIndex(org.rococoa.cocoa.foundation.NSUInteger value) {
        return getNSClass().indexSetWithIndex(value);
    }

    /**
     * Original signature : <code>-(id)init</code><br>
     * <i>native declaration : NSIndexSet.h:55</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSIndexSet init();

    /**
     * Factory method<br>
     *
     * @see #init()
     */
    public static org.rococoa.cocoa.foundation.NSIndexSet create() {
        return getNSClass().alloc().init();
    }

    /**
     * Original signature : <code>-(id)initWithIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:56</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSIndexSet initWithIndex(org.rococoa.cocoa.foundation.NSUInteger value);

    /**
     * Factory method<br>
     *
     * @see #initWithIndex(org.rococoa.cocoa.foundation.NSUInteger)
     */
    public static org.rococoa.cocoa.foundation.NSIndexSet createWithIndex(org.rococoa.cocoa.foundation.NSUInteger value) {
        return getNSClass().alloc().initWithIndex(value);
    }
    /**
     * <i>native declaration : NSIndexSet.h:57</i><br>
     * Conversion Error : /**<br>
     *  * designated initializer<br>
     *  * Original signature : <code>-(id)initWithIndexesInRange:()</code><br>
     *  * /<br>
     * - (id)initWithIndexesInRange:(null)range; (Argument range cannot be converted)
     */
    /**
     * designated initializer<br>
     * Original signature : <code>-(id)initWithIndexSet:(NSIndexSet*)</code><br>
     * <i>native declaration : NSIndexSet.h:58</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSIndexSet initWithIndexSet(org.rococoa.cocoa.foundation.NSIndexSet indexSet);

    /**
     * Factory method<br>
     *
     * @see #initWithIndexSet(org.rococoa.cocoa.foundation.NSIndexSet)
     */
    public static org.rococoa.cocoa.foundation.NSIndexSet createWithIndexSet(org.rococoa.cocoa.foundation.NSIndexSet indexSet) {
        return getNSClass().alloc().initWithIndexSet(indexSet);
    }

    /**
     * Original signature : <code>-(BOOL)isEqualToIndexSet:(NSIndexSet*)</code><br>
     * <i>native declaration : NSIndexSet.h:60</i>
     */
    public abstract boolean isEqualToIndexSet(org.rococoa.cocoa.foundation.NSIndexSet indexSet);

    /**
     * Original signature : <code>-(NSUInteger)count</code><br>
     * <i>native declaration : NSIndexSet.h:62</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger count();

    /**
     * The following six methods will return NSNotFound if there is no index in the set satisfying the query.<br>
     * Original signature : <code>-(NSUInteger)firstIndex</code><br>
     * <i>native declaration : NSIndexSet.h:66</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger firstIndex();

    /**
     * Original signature : <code>-(NSUInteger)lastIndex</code><br>
     * <i>native declaration : NSIndexSet.h:67</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger lastIndex();

    /**
     * Original signature : <code>-(NSUInteger)indexGreaterThanIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:68</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger indexGreaterThanIndex(org.rococoa.cocoa.foundation.NSUInteger value);

    /**
     * Original signature : <code>-(NSUInteger)indexLessThanIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:69</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger indexLessThanIndex(org.rococoa.cocoa.foundation.NSUInteger value);

    /**
     * Original signature : <code>-(NSUInteger)indexGreaterThanOrEqualToIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:70</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger indexGreaterThanOrEqualToIndex(org.rococoa.cocoa.foundation.NSUInteger value);

    /**
     * Original signature : <code>-(NSUInteger)indexLessThanOrEqualToIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:71</i>
     */
    public abstract org.rococoa.cocoa.foundation.NSUInteger indexLessThanOrEqualToIndex(org.rococoa.cocoa.foundation.NSUInteger value);
    /**
     * <i>native declaration : NSIndexSet.h:75</i><br>
     * Conversion Error : /**<br>
     *  * Fills up to bufferSize indexes in the specified range into the buffer and returns the number of indexes actually placed in the buffer; also modifies the optional range passed in by pointer to be "positioned" after the last index filled into the buffer.Example: if the index set contains the indexes 0, 2, 4, ..., 98, 100, for a buffer of size 10 and the range (20, 80) the buffer would contain 20, 22, ..., 38 and the range would be modified to (40, 60).<br>
     *  * Original signature : <code>-(NSUInteger)getIndexes:(NSUInteger*) maxCount:(NSUInteger) inIndexRange:()</code><br>
     *  * /<br>
     * - (NSUInteger)getIndexes:(NSUInteger*)indexBuffer maxCount:(NSUInteger)bufferSize inIndexRange:(null)range; (Argument range cannot be converted)
     */
    /**
     * <i>native declaration : NSIndexSet.h:78</i><br>
     * Conversion Error : /// Original signature : <code>-(NSUInteger)countOfIndexesInRange:()</code><br>
     * - (NSUInteger)countOfIndexesInRange:(null)range; (Argument range cannot be converted)
     */
    /**
     * Original signature : <code>-(BOOL)containsIndex:(NSUInteger)</code><br>
     * <i>native declaration : NSIndexSet.h:81</i>
     */
    public abstract boolean containsIndex(org.rococoa.cocoa.foundation.NSUInteger value);
    /**
     * <i>native declaration : NSIndexSet.h:82</i><br>
     * Conversion Error : /// Original signature : <code>-(BOOL)containsIndexesInRange:()</code><br>
     * - (BOOL)containsIndexesInRange:(null)range; (Argument range cannot be converted)
     */
    /**
     * Original signature : <code>-(BOOL)containsIndexes:(NSIndexSet*)</code><br>
     * <i>native declaration : NSIndexSet.h:83</i>
     */
    public abstract boolean containsIndexes(org.rococoa.cocoa.foundation.NSIndexSet indexSet);

    public static abstract class _class_ extends org.rococoa.cocoa.foundation.NSObject._class_ {
        /**
         * Original signature : <code>+(id)indexSet</code><br>
         * <i>native declaration : NSIndexSet.h:51</i>
         */
        public abstract org.rococoa.cocoa.foundation.NSIndexSet indexSet();

        /**
         * Original signature : <code>+(id)indexSetWithIndex:(NSUInteger)</code><br>
         * <i>native declaration : NSIndexSet.h:52</i>
         */
        public abstract org.rococoa.cocoa.foundation.NSIndexSet indexSetWithIndex(org.rococoa.cocoa.foundation.NSUInteger value);

        /**
         * <i>native declaration : NSIndexSet.h:53</i><br>
         * Conversion Error : /// Original signature : <code>+(id)indexSetWithIndexesInRange:()</code><br>
         * + (id)indexSetWithIndexesInRange:(null)range; (Argument range cannot be converted)
         */
        /// <i>native declaration : NSIndexSet.h</i>
        public abstract org.rococoa.cocoa.foundation.NSIndexSet alloc();

        /// <i>native declaration : NSIndexSet.h</i>
        public abstract org.rococoa.cocoa.foundation.NSIndexSet new_();
    }

    public static _class_ getNSClass() {
        if (_NSCLASS_ == null)
            _NSCLASS_ = org.rococoa.Rococoa.createClass("NSIndexSet", _class_.class);
        return _NSCLASS_;
    }

    private static _class_ _NSCLASS_;
}
