/*
 * Java-Gnome Bindings Library
 *
 * Copyright 1998-2004 the Java-Gnome Team, all rights reserved.
 *
 * The Java-Gnome bindings library is free software distributed under
 * the terms of the GNU Library General Public License version 2.
 */

package org.gnu.pango;
import org.gnu.glib.Enum;

/**
 * An enumeration specifying the weight (boldness) of a font. This is a
 * numerical value ranging from 100 to 900,
 */
public class Weight extends Enum 
{

    /****************************************
     * BEGINNING OF GENERATED CODE
     ****************************************/
    static final private int _ULTRALIGHT = 200;
    static final public org.gnu.pango.Weight ULTRALIGHT = new org.gnu.pango.Weight (_ULTRALIGHT);
    static final private int _LIGHT = 300;
    static final public org.gnu.pango.Weight LIGHT = new org.gnu.pango.Weight (_LIGHT);
    static final private int _NORMAL = 400;
    static final public org.gnu.pango.Weight NORMAL = new org.gnu.pango.Weight (_NORMAL);
    static final private int _BOLD = 700;
    static final public org.gnu.pango.Weight BOLD = new org.gnu.pango.Weight (_BOLD);
    static final private int _ULTRABOLD = 800;
    static final public org.gnu.pango.Weight ULTRABOLD = new org.gnu.pango.Weight (_ULTRABOLD);
    static final private int _HEAVY = 900;
    static final public org.gnu.pango.Weight HEAVY = new org.gnu.pango.Weight (_HEAVY);
    static final private org.gnu.pango.Weight[] theInterned = new org.gnu.pango.Weight[] 
    {
        new org.gnu.pango.Weight (0), new org.gnu.pango.Weight (1), new org.gnu.pango.Weight (2), 
        new org.gnu.pango.Weight (3), new org.gnu.pango.Weight (4), new org.gnu.pango.Weight (5), 
        new org.gnu.pango.Weight (6), new org.gnu.pango.Weight (7), new org.gnu.pango.Weight (8), 
        new org.gnu.pango.Weight (9), new org.gnu.pango.Weight (10), new org.gnu.pango.Weight (11), 
        new org.gnu.pango.Weight (12), new org.gnu.pango.Weight (13), new org.gnu.pango.Weight (14)
        , new org.gnu.pango.Weight (15), new org.gnu.pango.Weight (16), new org.gnu.pango.Weight (
            17), new org.gnu.pango.Weight (18), new org.gnu.pango.Weight (19), new 
        org.gnu.pango.Weight (20), new org.gnu.pango.Weight (21), new org.gnu.pango.Weight (22), 
        new org.gnu.pango.Weight (23), new org.gnu.pango.Weight (24), new org.gnu.pango.Weight (25)
        , new org.gnu.pango.Weight (26), new org.gnu.pango.Weight (27), new org.gnu.pango.Weight (
            28), new org.gnu.pango.Weight (29), new org.gnu.pango.Weight (30), new 
        org.gnu.pango.Weight (31), new org.gnu.pango.Weight (32), new org.gnu.pango.Weight (33), 
        new org.gnu.pango.Weight (34), new org.gnu.pango.Weight (35), new org.gnu.pango.Weight (36)
        , new org.gnu.pango.Weight (37), new org.gnu.pango.Weight (38), new org.gnu.pango.Weight (
            39), new org.gnu.pango.Weight (40), new org.gnu.pango.Weight (41), new 
        org.gnu.pango.Weight (42), new org.gnu.pango.Weight (43), new org.gnu.pango.Weight (44), 
        new org.gnu.pango.Weight (45), new org.gnu.pango.Weight (46), new org.gnu.pango.Weight (47)
        , new org.gnu.pango.Weight (48), new org.gnu.pango.Weight (49), new org.gnu.pango.Weight (
            50), new org.gnu.pango.Weight (51), new org.gnu.pango.Weight (52), new 
        org.gnu.pango.Weight (53), new org.gnu.pango.Weight (54), new org.gnu.pango.Weight (55), 
        new org.gnu.pango.Weight (56), new org.gnu.pango.Weight (57), new org.gnu.pango.Weight (58)
        , new org.gnu.pango.Weight (59), new org.gnu.pango.Weight (60), new org.gnu.pango.Weight (
            61), new org.gnu.pango.Weight (62), new org.gnu.pango.Weight (63), new 
        org.gnu.pango.Weight (64), new org.gnu.pango.Weight (65), new org.gnu.pango.Weight (66), 
        new org.gnu.pango.Weight (67), new org.gnu.pango.Weight (68), new org.gnu.pango.Weight (69)
        , new org.gnu.pango.Weight (70), new org.gnu.pango.Weight (71), new org.gnu.pango.Weight (
            72), new org.gnu.pango.Weight (73), new org.gnu.pango.Weight (74), new 
        org.gnu.pango.Weight (75), new org.gnu.pango.Weight (76), new org.gnu.pango.Weight (77), 
        new org.gnu.pango.Weight (78), new org.gnu.pango.Weight (79), new org.gnu.pango.Weight (80)
        , new org.gnu.pango.Weight (81), new org.gnu.pango.Weight (82), new org.gnu.pango.Weight (
            83), new org.gnu.pango.Weight (84), new org.gnu.pango.Weight (85), new 
        org.gnu.pango.Weight (86), new org.gnu.pango.Weight (87), new org.gnu.pango.Weight (88), 
        new org.gnu.pango.Weight (89), new org.gnu.pango.Weight (90), new org.gnu.pango.Weight (91)
        , new org.gnu.pango.Weight (92), new org.gnu.pango.Weight (93), new org.gnu.pango.Weight (
            94), new org.gnu.pango.Weight (95), new org.gnu.pango.Weight (96), new 
        org.gnu.pango.Weight (97), new org.gnu.pango.Weight (98), new org.gnu.pango.Weight (99), 
        new org.gnu.pango.Weight (100), new org.gnu.pango.Weight (101), new org.gnu.pango.Weight (
            102), new org.gnu.pango.Weight (103), new org.gnu.pango.Weight (104), new 
        org.gnu.pango.Weight (105), new org.gnu.pango.Weight (106), new org.gnu.pango.Weight (107), 
        new org.gnu.pango.Weight (108), new org.gnu.pango.Weight (109), new org.gnu.pango.Weight (
            110), new org.gnu.pango.Weight (111), new org.gnu.pango.Weight (112), new 
        org.gnu.pango.Weight (113), new org.gnu.pango.Weight (114), new org.gnu.pango.Weight (115), 
        new org.gnu.pango.Weight (116), new org.gnu.pango.Weight (117), new org.gnu.pango.Weight (
            118), new org.gnu.pango.Weight (119), new org.gnu.pango.Weight (120), new 
        org.gnu.pango.Weight (121), new org.gnu.pango.Weight (122), new org.gnu.pango.Weight (123), 
        new org.gnu.pango.Weight (124), new org.gnu.pango.Weight (125), new org.gnu.pango.Weight (
            126), new org.gnu.pango.Weight (127), new org.gnu.pango.Weight (128), new 
        org.gnu.pango.Weight (129), new org.gnu.pango.Weight (130), new org.gnu.pango.Weight (131), 
        new org.gnu.pango.Weight (132), new org.gnu.pango.Weight (133), new org.gnu.pango.Weight (
            134), new org.gnu.pango.Weight (135), new org.gnu.pango.Weight (136), new 
        org.gnu.pango.Weight (137), new org.gnu.pango.Weight (138), new org.gnu.pango.Weight (139), 
        new org.gnu.pango.Weight (140), new org.gnu.pango.Weight (141), new org.gnu.pango.Weight (
            142), new org.gnu.pango.Weight (143), new org.gnu.pango.Weight (144), new 
        org.gnu.pango.Weight (145), new org.gnu.pango.Weight (146), new org.gnu.pango.Weight (147), 
        new org.gnu.pango.Weight (148), new org.gnu.pango.Weight (149), new org.gnu.pango.Weight (
            150), new org.gnu.pango.Weight (151), new org.gnu.pango.Weight (152), new 
        org.gnu.pango.Weight (153), new org.gnu.pango.Weight (154), new org.gnu.pango.Weight (155), 
        new org.gnu.pango.Weight (156), new org.gnu.pango.Weight (157), new org.gnu.pango.Weight (
            158), new org.gnu.pango.Weight (159), new org.gnu.pango.Weight (160), new 
        org.gnu.pango.Weight (161), new org.gnu.pango.Weight (162), new org.gnu.pango.Weight (163), 
        new org.gnu.pango.Weight (164), new org.gnu.pango.Weight (165), new org.gnu.pango.Weight (
            166), new org.gnu.pango.Weight (167), new org.gnu.pango.Weight (168), new 
        org.gnu.pango.Weight (169), new org.gnu.pango.Weight (170), new org.gnu.pango.Weight (171), 
        new org.gnu.pango.Weight (172), new org.gnu.pango.Weight (173), new org.gnu.pango.Weight (
            174), new org.gnu.pango.Weight (175), new org.gnu.pango.Weight (176), new 
        org.gnu.pango.Weight (177), new org.gnu.pango.Weight (178), new org.gnu.pango.Weight (179), 
        new org.gnu.pango.Weight (180), new org.gnu.pango.Weight (181), new org.gnu.pango.Weight (
            182), new org.gnu.pango.Weight (183), new org.gnu.pango.Weight (184), new 
        org.gnu.pango.Weight (185), new org.gnu.pango.Weight (186), new org.gnu.pango.Weight (187), 
        new org.gnu.pango.Weight (188), new org.gnu.pango.Weight (189), new org.gnu.pango.Weight (
            190), new org.gnu.pango.Weight (191), new org.gnu.pango.Weight (192), new 
        org.gnu.pango.Weight (193), new org.gnu.pango.Weight (194), new org.gnu.pango.Weight (195), 
        new org.gnu.pango.Weight (196), new org.gnu.pango.Weight (197), new org.gnu.pango.Weight (
            198), new org.gnu.pango.Weight (199), ULTRALIGHT, new org.gnu.pango.Weight (201), new 
        org.gnu.pango.Weight (202), new org.gnu.pango.Weight (203), new org.gnu.pango.Weight (204), 
        new org.gnu.pango.Weight (205), new org.gnu.pango.Weight (206), new org.gnu.pango.Weight (
            207), new org.gnu.pango.Weight (208), new org.gnu.pango.Weight (209), new 
        org.gnu.pango.Weight (210), new org.gnu.pango.Weight (211), new org.gnu.pango.Weight (212), 
        new org.gnu.pango.Weight (213), new org.gnu.pango.Weight (214), new org.gnu.pango.Weight (
            215), new org.gnu.pango.Weight (216), new org.gnu.pango.Weight (217), new 
        org.gnu.pango.Weight (218), new org.gnu.pango.Weight (219), new org.gnu.pango.Weight (220), 
        new org.gnu.pango.Weight (221), new org.gnu.pango.Weight (222), new org.gnu.pango.Weight (
            223), new org.gnu.pango.Weight (224), new org.gnu.pango.Weight (225), new 
        org.gnu.pango.Weight (226), new org.gnu.pango.Weight (227), new org.gnu.pango.Weight (228), 
        new org.gnu.pango.Weight (229), new org.gnu.pango.Weight (230), new org.gnu.pango.Weight (
            231), new org.gnu.pango.Weight (232), new org.gnu.pango.Weight (233), new 
        org.gnu.pango.Weight (234), new org.gnu.pango.Weight (235), new org.gnu.pango.Weight (236), 
        new org.gnu.pango.Weight (237), new org.gnu.pango.Weight (238), new org.gnu.pango.Weight (
            239), new org.gnu.pango.Weight (240), new org.gnu.pango.Weight (241), new 
        org.gnu.pango.Weight (242), new org.gnu.pango.Weight (243), new org.gnu.pango.Weight (244), 
        new org.gnu.pango.Weight (245), new org.gnu.pango.Weight (246), new org.gnu.pango.Weight (
            247), new org.gnu.pango.Weight (248), new org.gnu.pango.Weight (249), new 
        org.gnu.pango.Weight (250), new org.gnu.pango.Weight (251), new org.gnu.pango.Weight (252), 
        new org.gnu.pango.Weight (253), new org.gnu.pango.Weight (254), new org.gnu.pango.Weight (
            255) 
    }

;
    static private java.util.Hashtable theInternedExtras;
    static final private org.gnu.pango.Weight theSacrificialOne = new org.gnu.pango.Weight (0);
    static public org.gnu.pango.Weight intern (int value) 
    {
        if (value < theInterned.length) 
        {
            return theInterned[value];
        }
        theSacrificialOne.value_ = value;
        if (theInternedExtras == null) 
        {
            theInternedExtras = new java.util.Hashtable();
        }
        org.gnu.pango.Weight already = (org.gnu.pango.Weight) theInternedExtras.get (
            theSacrificialOne);
        if (already == null) 
        {
            already = new org.gnu.pango.Weight(value);
            theInternedExtras.put(already, already);
        }
        return already;
    }

    public Weight (int value) 
    {
        value_ = value;
    }

    public org.gnu.pango.Weight or (org.gnu.pango.Weight other) 
    {
        return intern(value_ | other.value_);
    }

    public org.gnu.pango.Weight and (org.gnu.pango.Weight other) 
    {
        return intern(value_ & other.value_);
    }

    public org.gnu.pango.Weight xor (org.gnu.pango.Weight other) 
    {
        return intern(value_ ^ other.value_);
    }

    public boolean test (org.gnu.pango.Weight other) 
    {
        return (value_ & other.value_) == other.value_;
    }

    /****************************************
     * END OF GENERATED CODE
     ****************************************/
}

