text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>GParamSpec</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
<link rel="start" href="index.html" title="GObject Reference Manual">
<link rel="up" href="rn01.html" title="API Reference">
<link rel="prev" href="gobject-Varargs-Value-Collection.html" title="Varargs Value Collection">
<link rel="next" href="gobject-Signals.html" title="Signals">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="preface" href="pr01.html" title="Introduction">
<link rel="part" href="pt01.html" title="Part I. Concepts">
<link rel="chapter" href="ch01.html" title="Background">
<link rel="chapter" href="ch02.html" title="The Glib Dynamic Type System">
<link rel="chapter" href="chapter-gobject.html" title="The GObject base class">
<link rel="chapter" href="chapter-signal.html" title="The GObject messaging system">
<link rel="reference" href="rn01.html" title="API Reference">
<link rel="reference" href="rn02.html" title="Tools Reference">
<link rel="part" href="pt02.html" title="Part IV. Tutorial">
<link rel="chapter" href="howto-gobject.html" title="How To define and implement a new GObject?">
<link rel="chapter" href="howto-interface.html" title="How To define and implement Interfaces?">
<link rel="chapter" href="howto-signals.html" title="Howto create and use signals">
<link rel="part" href="pt03.html" title="Part V. Related Tools">
<link rel="chapter" href="tools-gob.html" title="GObject builder">
<link rel="chapter" href="tools-ginspector.html" title="Graphical inspection of Gobjects">
<link rel="chapter" href="tools-refdb.html" title="Debugging reference count problems">
<link rel="chapter" href="tools-gtkdoc.html" title="Writing API docs">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">

GObject Reference Manual

<nobr>Top
                   |
                  Description</nobr>

GParamSpec

GParamSpec — Metadata for parameter specifications

Synopsis

#include <glib-object.h>

#define             G_TYPE_IS_PARAM                     (type)
#define             G_PARAM_SPEC                        (pspec)
#define             G_IS_PARAM_SPEC                     (pspec)
#define             G_PARAM_SPEC_CLASS                  (pclass)
#define             G_IS_PARAM_SPEC_CLASS               (pclass)
#define             G_PARAM_SPEC_GET_CLASS              (pspec)
#define             G_PARAM_SPEC_TYPE                   (pspec)
#define             G_PARAM_SPEC_TYPE_NAME              (pspec)
#define             G_PARAM_SPEC_VALUE_TYPE             (pspec)
                    GParamSpec;
                    GParamSpecClass;
enum                GParamFlags;
#define             G_PARAM_READWRITE
#define             G_PARAM_MASK
#define             G_PARAM_USER_SHIFT
GParamSpec*         g_param_spec_ref                    (GParamSpec *pspec);
void                g_param_spec_unref                  (GParamSpec *pspec);
void                g_param_spec_sink                   (GParamSpec *pspec);
GParamSpec*         g_param_spec_ref_sink               (GParamSpec *pspec);
void                g_param_value_set_default           (GParamSpec *pspec,
                                                         GValue *value);
gboolean            g_param_value_defaults              (GParamSpec *pspec,
                                                         GValue *value);
gboolean            g_param_value_validate              (GParamSpec *pspec,
                                                         GValue *value);
gboolean            g_param_value_convert               (GParamSpec *pspec,
                                                         const GValue *src_value,
                                                         GValue *dest_value,
                                                         gboolean strict_validation);
gint                g_param_values_cmp                  (GParamSpec *pspec,
                                                         const GValue *value1,
                                                         const GValue *value2);
const gchar*        g_param_spec_get_name               (GParamSpec *pspec);
const gchar*        g_param_spec_get_nick               (GParamSpec *pspec);
const gchar*        g_param_spec_get_blurb              (GParamSpec *pspec);
gpointer            g_param_spec_get_qdata              (GParamSpec *pspec,
                                                         GQuark quark);
void                g_param_spec_set_qdata              (GParamSpec *pspec,
                                                         GQuark quark,
                                                         gpointer data);
void                g_param_spec_set_qdata_full         (GParamSpec *pspec,
                                                         GQuark quark,
                                                         gpointer data,
                                                         GDestroyNotify destroy);
gpointer            g_param_spec_steal_qdata            (GParamSpec *pspec,
                                                         GQuark quark);
GParamSpec*         g_param_spec_get_redirect_target    (GParamSpec *pspec);
gpointer            g_param_spec_internal               (GType param_type,
                                                         const gchar *name,
                                                         const gchar *nick,
                                                         const gchar *blurb,
                                                         GParamFlags flags);
                    GParamSpecTypeInfo;
GType               g_param_type_register_static        (const gchar *name,
                                                         const GParamSpecTypeInfo *pspec_info);
                    GParamSpecPool;
GParamSpecPool*     g_param_spec_pool_new               (gboolean type_prefixing);
void                g_param_spec_pool_insert            (GParamSpecPool *pool,
                                                         GParamSpec *pspec,
                                                         GType owner_type);
void                g_param_spec_pool_remove            (GParamSpecPool *pool,
                                                         GParamSpec *pspec);
GParamSpec*         g_param_spec_pool_lookup            (GParamSpecPool *pool,
                                                         const gchar *param_name,
                                                         GType owner_type,
                                                         gboolean walk_ancestors);
GParamSpec**        g_param_spec_pool_list              (GParamSpecPool *pool,
                                                         GType owner_type,
                                                         guint *n_pspecs_p);
GList*              g_param_spec_pool_list_owned        (GParamSpecPool *pool,
                                                         GType owner_type);

Description

GParamSpec is an object structure that encapsulates the metadata
required to specify parameters, such as e.g. GObject properties.

Parameter names need to start with a letter (a-z or A-Z). Subsequent
characters can be letters, numbers or a '-'.
All other characters are replaced by a '-' during construction.

Details

G_TYPE_IS_PARAM()

#define G_TYPE_IS_PARAM(type)		(G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)

Returns whether type "is a" G_TYPE_PARAM.

<col align="left" valign="top">

type :
a GType ID

G_PARAM_SPEC()

#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))

Casts a derived GParamSpec object (e.g. of type GParamSpecInt) into
a GParamSpec object.

<col align="left" valign="top">

pspec :
a valid GParamSpec

G_IS_PARAM_SPEC()

#define G_IS_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))

Checks whether pspec "is a" valid GParamSpec structure of type G_TYPE_PARAM
or derived.

<col align="left" valign="top">

pspec :
a GParamSpec

G_PARAM_SPEC_CLASS()

#define G_PARAM_SPEC_CLASS(pclass)      (G_TYPE_CHECK_CLASS_CAST ((pclass), G_TYPE_PARAM, GParamSpecClass))

Casts a derived GParamSpecClass structure into a GParamSpecClass structure.

<col align="left" valign="top">

pclass :
a valid GParamSpecClass

G_IS_PARAM_SPEC_CLASS()

#define G_IS_PARAM_SPEC_CLASS(pclass)   (G_TYPE_CHECK_CLASS_TYPE ((pclass), G_TYPE_PARAM))

Checks whether pclass "is a" valid GParamSpecClass structure of type
G_TYPE_PARAM or derived.

<col align="left" valign="top">

pclass :
a GParamSpecClass

G_PARAM_SPEC_GET_CLASS()

#define G_PARAM_SPEC_GET_CLASS(pspec)	(G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))

Retrieves the GParamSpecClass of a GParamSpec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

G_PARAM_SPEC_TYPE()

#define G_PARAM_SPEC_TYPE(pspec)	(G_TYPE_FROM_INSTANCE (pspec))

Retrieves the GType of this pspec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

G_PARAM_SPEC_TYPE_NAME()

#define G_PARAM_SPEC_TYPE_NAME(pspec)	(g_type_name (G_PARAM_SPEC_TYPE (pspec)))

Retrieves the GType name of this pspec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

G_PARAM_SPEC_VALUE_TYPE()

#define	G_PARAM_SPEC_VALUE_TYPE(pspec)	(G_PARAM_SPEC (pspec)->value_type)

Retrieves the GType to initialize a GValue for this parameter.

<col align="left" valign="top">

pspec :
a valid GParamSpec

GParamSpec

typedef struct {
  GTypeInstance  g_type_instance;

  gchar         *name;
  GParamFlags    flags;
  GType		 value_type;
  GType		 owner_type;	/* class or interface using this property */
} GParamSpec;

All fields of the GParamSpec struct are private and
should not be used directly, except for the following:

<col align="left" valign="top">

GTypeInstance g_type_instance;
private GTypeInstance portion

gchar *name;
           name of this parameter

GParamFlags flags;
          GParamFlags flags for this parameter

GType value_type;
     the GValue type for this parameter

GType owner_type;
     GType type that uses (introduces) this paremeter

GParamSpecClass

typedef struct {
  GTypeClass      g_type_class;

  GType		  value_type;

  void	        (*finalize)		(GParamSpec   *pspec);

  /* GParam methods */
  void          (*value_set_default)    (GParamSpec   *pspec,
					 GValue       *value);
  gboolean      (*value_validate)       (GParamSpec   *pspec,
					 GValue       *value);
  gint          (*values_cmp)           (GParamSpec   *pspec,
					 const GValue *value1,
					 const GValue *value2);
} GParamSpecClass;

The class structure for the GParamSpec type.
Normally, GParamSpec classes are filled by
g_param_type_register_static().

<col align="left" valign="top">

GTypeClass g_type_class;
the parent class

GType value_type;
the GValue type for this parameter

finalize ()
The instance finalization function (optional), should chain
  up to the finalize method of the parent class.

value_set_default ()
Resets a value to the default value for this type
  (recommended, the default is g_value_reset()), see
  g_param_value_set_default().

value_validate ()
Ensures that the contents of value comply with the
  specifications set out by this type (optional), see
  g_param_value_set_validate().

values_cmp ()
Compares value1 with value2 according to this type
  (recommended, the default is memcmp()), see g_param_values_cmp().

enum GParamFlags

typedef enum
{
  G_PARAM_READABLE            = 1 << 0,
  G_PARAM_WRITABLE            = 1 << 1,
  G_PARAM_CONSTRUCT	      = 1 << 2,
  G_PARAM_CONSTRUCT_ONLY      = 1 << 3,
  G_PARAM_LAX_VALIDATION      = 1 << 4,
  G_PARAM_STATIC_NAME	      = 1 << 5,
#ifndef G_DISABLE_DEPRECATED
  G_PARAM_PRIVATE	      = G_PARAM_STATIC_NAME,
#endif
  G_PARAM_STATIC_NICK	      = 1 << 6,
  G_PARAM_STATIC_BLURB	      = 1 << 7
} GParamFlags;

Through the GParamFlags flag values, certain aspects of parameters
can be configured.

<col align="left" valign="top">

G_PARAM_READABLE
      the parameter is readable

G_PARAM_WRITABLE
      the parameter is writable

G_PARAM_CONSTRUCT
     the parameter will be set upon object construction

G_PARAM_CONSTRUCT_ONLY
the parameter will only be set upon object construction

G_PARAM_LAX_VALIDATION
upon parameter conversion (see g_param_value_convert())
                         strict validation is not required

G_PARAM_STATIC_NAME
   the string used as name when constructing the
                         parameter is guaranteed to remain valid and
                         unmodified for the lifetime of the parameter.
                         Since 2.8

G_PARAM_STATIC_BLURB
  the string used as blurb when constructing the
                         parameter is guaranteed to remain valid and
                         unmodified for the lifetime of the parameter.
                         Since 2.8

G_PARAM_READWRITE

#define	G_PARAM_READWRITE	(G_PARAM_READABLE | G_PARAM_WRITABLE)

GParamFlags value alias for G_PARAM_READABLE | G_PARAM_WRITABLE.

G_PARAM_MASK

#define	G_PARAM_MASK		(0x000000ff)

Mask containing the bits of GParamSpec.flags which are reserved for GLib.

G_PARAM_USER_SHIFT

#define	G_PARAM_USER_SHIFT	(8)

Minimum shift count to be used for user defined flags, to be stored in
GParamSpec.flags.

g_param_spec_ref ()

GParamSpec*         g_param_spec_ref                    (GParamSpec *pspec);

Increments the reference count of pspec.

<col align="left" valign="top">

pspec :
  a valid GParamSpec

Returns :
the GParamSpec that was passed into this function

g_param_spec_unref ()

void                g_param_spec_unref                  (GParamSpec *pspec);

Decrements the reference count of a pspec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

g_param_spec_sink ()

void                g_param_spec_sink                   (GParamSpec *pspec);

The initial reference count of a newly created GParamSpec is 1, even
though no one has explicitly called g_param_spec_ref() on it yet. So the
initial reference count is flagged as "floating", until someone calls
g_param_spec_ref (pspec); g_param_spec_sink (pspec);
in sequence on it, taking over the initial reference count (thus
ending up with a pspec that has a reference count of 1 still, but is
not flagged "floating" anymore).

<col align="left" valign="top">

pspec :
a valid GParamSpec

g_param_spec_ref_sink ()

GParamSpec*         g_param_spec_ref_sink               (GParamSpec *pspec);

Convenience function to ref and sink a GParamSpec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

Returns :
the GParamSpec that was passed into this function

Since 2.10

g_param_value_set_default ()

void                g_param_value_set_default           (GParamSpec *pspec,
                                                         GValue *value);

Sets value to its default value as specified in pspec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

value :
a GValue of correct type for pspec

g_param_value_defaults ()

gboolean            g_param_value_defaults              (GParamSpec *pspec,
                                                         GValue *value);

Checks whether value contains the default value as specified in pspec.

<col align="left" valign="top">

pspec :
  a valid GParamSpec

value :
  a GValue of correct type for pspec

Returns :
whether value contains the canonical defualt for this pspec

g_param_value_validate ()

gboolean            g_param_value_validate              (GParamSpec *pspec,
                                                         GValue *value);

Ensures that the contents of value comply with the specifications
set out by pspec. For example, a GParamSpecInt might require
that integers stored in value may not be smaller than -42 and not be
greater than +42. If value contains an integer outside of this range,
it is modified accordingly, so the resulting value will fit into the
range -42 .. +42.

<col align="left" valign="top">

pspec :
  a valid GParamSpec

value :
  a GValue of correct type for pspec

Returns :
whether modifying value was necessary to ensure validity

g_param_value_convert ()

gboolean            g_param_value_convert               (GParamSpec *pspec,
                                                         const GValue *src_value,
                                                         GValue *dest_value,
                                                         gboolean strict_validation);

Transforms src_value into dest_value if possible, and then validates
dest_value, in order for it to conform to pspec.
If strict_validation is TRUE this function will only succeed if
the transformed dest_value complied to pspec without modifications.

See also g_value_type_transformable(), g_value_transform() and
g_param_value_validate().

<col align="left" valign="top">

pspec :
            a valid GParamSpec

src_value :
        souce GValue

dest_value :
       destination GValue of correct type for pspec

strict_validation :

TRUE requires dest_value to conform to pspec without modifications

Returns :
          TRUE if transformation and validation were successful,
                    FALSE otherwise and dest_value is left untouched.

g_param_values_cmp ()

gint                g_param_values_cmp                  (GParamSpec *pspec,
                                                         const GValue *value1,
                                                         const GValue *value2);

Compares value1 with value2 according to pspec, and return -1, 0 or +1,
if value1 is found to be less than, equal to or greater than value2,
respectively.

<col align="left" valign="top">

pspec :
  a valid GParamSpec

value1 :
 a GValue of correct type for pspec

value2 :
 a GValue of correct type for pspec

Returns :
-1, 0 or +1, for a less than, equal to or greater than result

g_param_spec_get_name ()

const gchar*        g_param_spec_get_name               (GParamSpec *pspec);

Returns the name of a GParamSpec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

Returns :
the name of pspec.

g_param_spec_get_nick ()

const gchar*        g_param_spec_get_nick               (GParamSpec *pspec);

Returns the nickname of a GParamSpec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

Returns :
the nickname of pspec.

g_param_spec_get_blurb ()

const gchar*        g_param_spec_get_blurb              (GParamSpec *pspec);

Returns the short description of a GParamSpec.

<col align="left" valign="top">

pspec :
a valid GParamSpec

Returns :
the short description of pspec.

g_param_spec_get_qdata ()

gpointer            g_param_spec_get_qdata              (GParamSpec *pspec,
                                                         GQuark quark);

Gets back user data pointers stored via g_param_spec_set_qdata().

<col align="left" valign="top">

pspec :
a valid GParamSpec

quark :
a GQuark, naming the user data pointer

Returns :
the user data pointer set, or NULL

g_param_spec_set_qdata ()

void                g_param_spec_set_qdata              (GParamSpec *pspec,
                                                         GQuark quark,
                                                         gpointer data);

Sets an opaque, named pointer on a GParamSpec. The name is specified
through a GQuark (retrieved e.g. via g_quark_from_static_string()), and
the pointer can be gotten back from the pspec with g_param_spec_get_qdata().
Setting a previously set user data pointer, overrides (frees)
the old pointer set, using NULL as pointer essentially
removes the data stored.

<col align="left" valign="top">

pspec :
the GParamSpec to set store a user data pointer

quark :
a GQuark, naming the user data pointer

data :
an opaque user data pointer

g_param_spec_set_qdata_full ()

void                g_param_spec_set_qdata_full         (GParamSpec *pspec,
                                                         GQuark quark,
                                                         gpointer data,
                                                         GDestroyNotify destroy);

This function works like g_param_spec_set_qdata(), but in addition,
a void (*destroy) (gpointer) function may be
specified which is called with data as argument when the pspec is
finalized, or the data is being overwritten by a call to
g_param_spec_set_qdata() with the same quark.

<col align="left" valign="top">

pspec :
  the GParamSpec to set store a user data pointer

quark :
  a GQuark, naming the user data pointer

data :
   an opaque user data pointer

destroy :
function to invoke with data as argument, when data needs to
          be freed

g_param_spec_steal_qdata ()

gpointer            g_param_spec_steal_qdata            (GParamSpec *pspec,
                                                         GQuark quark);

Gets back user data pointers stored via g_param_spec_set_qdata() and
removes the data from pspec without invoking it's destroy() function
(if any was set).
Usually, calling this function is only required to update
user data pointers with a destroy notifier.

<col align="left" valign="top">

pspec :
the GParamSpec to get a stored user data pointer from

quark :
a GQuark, naming the user data pointer

Returns :
the user data pointer set, or NULL

g_param_spec_get_redirect_target ()

GParamSpec*         g_param_spec_get_redirect_target    (GParamSpec *pspec);

If the paramspec redirects operations to another paramspec,
returns that paramspec. Redirect is used typically for
providing a new implementation of a property in a derived
type while preserving all the properties from the parent
type. Redirection is established by creating a property
of type GParamSpecOverride. See g_object_override_property()
for an example of the use of this capability.

<col align="left" valign="top">

pspec :
a GParamSpec

Returns :
paramspec to which requests on this paramspec should
  be redirected, or NULL if none.

Since 2.4

g_param_spec_internal ()

gpointer            g_param_spec_internal               (GType param_type,
                                                         const gchar *name,
                                                         const gchar *nick,
                                                         const gchar *blurb,
                                                         GParamFlags flags);

Creates a new GParamSpec instance.

A property name consists of segments consisting of ASCII letters and
digits, separated by either the '-' or '_' character. The first
character of a property name must be a letter. Names which violate these
rules lead to undefined behaviour.

When creating and looking up a GParamSpec, either separator can be used,
but they cannot be mixed. Using '-' is considerably more efficient and in
fact required when using property names as detail strings for signals.

<col align="left" valign="top">

param_type :
the GType for the property; must be derived from G_TYPE_PARAM

name :
the canonical name of the property

nick :
the nickname of the property

blurb :
a short description of the property

flags :
a combination of GParamFlags

Returns :
a newly allocated GParamSpec instance

GParamSpecTypeInfo

typedef struct {
  /* type system portion */
  guint16         instance_size;                               /* obligatory */
  guint16         n_preallocs;                                 /* optional */
  void		(*instance_init)	(GParamSpec   *pspec); /* optional */

  /* class portion */
  GType           value_type;				       /* obligatory */
  void          (*finalize)             (GParamSpec   *pspec); /* optional */
  void          (*value_set_default)    (GParamSpec   *pspec,  /* recommended */
					 GValue       *value);
  gboolean      (*value_validate)       (GParamSpec   *pspec,  /* optional */
					 GValue       *value);
  gint          (*values_cmp)           (GParamSpec   *pspec,  /* recommended */
					 const GValue *value1,
					 const GValue *value2);
} GParamSpecTypeInfo;

This structure is used to provide the type system with the information
required to initialize and destruct (finalize) a parameter's class and
instances thereof.
The initialized structure is passed to the g_param_type_register_static()
The type system will perform a deep copy of this structure, so it's memory
does not need to be persistent across invocation of
g_param_type_register_static().

<col align="left" valign="top">

guint16 instance_size;
Size of the instance (object) structure.

guint16 n_preallocs;
Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the slice allocator now.

instance_init ()
Location of the instance initialization function (optional).

GType value_type;
The GType of values conforming to this GParamSpec

finalize ()
The instance finalization function (optional).

value_set_default ()
Resets a value to the default value for pspec
  (recommended, the default is g_value_reset()), see
  g_param_value_set_default().

value_validate ()
Ensures that the contents of value comply with the
  specifications set out by pspec (optional), see
  g_param_value_set_validate().

values_cmp ()
Compares value1 with value2 according to pspec
  (recommended, the default is memcmp()), see g_param_values_cmp().

g_param_type_register_static ()

GType               g_param_type_register_static        (const gchar *name,
                                                         const GParamSpecTypeInfo *pspec_info);

Registers name as the name of a new static type derived from
G_TYPE_PARAM. The type system uses the information contained in the
GParamSpecTypeInfo structure pointed to by info to manage the GParamSpec
type and its instances.

<col align="left" valign="top">

name :
0-terminated string used as the name of the new GParamSpec type.

pspec_info :
The GParamSpecTypeInfo for this GParamSpec type.

Returns :
The new type identifier.

GParamSpecPool

typedef struct _GParamSpecPool GParamSpecPool;

A GParamSpecPool maintains a collection of GParamSpecs which can be
quickly accessed by owner and name. The implementation of the GObject property
system uses such a pool to store the GParamSpecs of the properties all object
types.

g_param_spec_pool_new ()

GParamSpecPool*     g_param_spec_pool_new               (gboolean type_prefixing);

Creates a new GParamSpecPool.

If type_prefixing is TRUE, lookups in the newly created pool will
allow to specify the owner as a colon-separated prefix of the property name,
like "GtkContainer:border-width". This feature is deprecated, so you should
always set type_prefixing to FALSE.

<col align="left" valign="top">

type_prefixing :
Whether the pool will support type-prefixed property names.

Returns :
a newly allocated GParamSpecPool.

g_param_spec_pool_insert ()

void                g_param_spec_pool_insert            (GParamSpecPool *pool,
                                                         GParamSpec *pspec,
                                                         GType owner_type);

Inserts a GParamSpec in the pool.

<col align="left" valign="top">

pool :
a GParamSpecPool.

pspec :
the GParamSpec to insert

owner_type :
a GType identifying the owner of pspec

g_param_spec_pool_remove ()

void                g_param_spec_pool_remove            (GParamSpecPool *pool,
                                                         GParamSpec *pspec);

Removes a GParamSpec from the pool.

<col align="left" valign="top">

pool :
a GParamSpecPool

pspec :
the GParamSpec to remove

g_param_spec_pool_lookup ()

GParamSpec*         g_param_spec_pool_lookup            (GParamSpecPool *pool,
                                                         const gchar *param_name,
                                                         GType owner_type,
                                                         gboolean walk_ancestors);

Looks up a GParamSpec in the pool.

<col align="left" valign="top">

pool :
a GParamSpecPool

param_name :
the name to look for

owner_type :
the owner to look for

walk_ancestors :
If TRUE, also try to find a GParamSpec with param_name
  owned by an ancestor of owner_type.

Returns :
The found GParamSpec, or NULL if no matching GParamSpec was found.

g_param_spec_pool_list ()

GParamSpec**        g_param_spec_pool_list              (GParamSpecPool *pool,
                                                         GType owner_type,
                                                         guint *n_pspecs_p);

Gets an array of all GParamSpecs owned by owner_type in the pool.

<col align="left" valign="top">

pool :
a GParamSpecPool

owner_type :
the owner to look for

n_pspecs_p :
return location for the length of the returned array

Returns :
a newly allocated array containing pointers to all
  GParamSpecs owned by owner_type in the pool

g_param_spec_pool_list_owned ()

GList*              g_param_spec_pool_list_owned        (GParamSpecPool *pool,
                                                         GType owner_type);

Gets an GList of all GParamSpecs owned by owner_type in the pool.

<col align="left" valign="top">

pool :
a GParamSpecPool

owner_type :
the owner to look for

Returns :
a GList of all GParamSpecs owned by owner_type in
  the poolGParamSpecs.

See Also

g_object_class_install_property(), g_object_set(), g_object_get(),
g_object_set_property(), g_object_get_property(), g_value_register_transform_func()


text:
package uk.gov.dvla.vehicles.dispose.gatling

import io.gatling.core.Predef._
import Scenarios.dispose_start_to_finish_exit_on_fail
import Helper.httpConf
import scala.concurrent.duration._
import scala.language.postfixOps  // this avoids compiler warnings

class DisposeSimulation extends Simulation {

  private def disposeToTradeTests = dispose_start_to_finish_exit_on_fail.inject(atOnceUsers(1))

//  setUp(
//    Scenarios.dispose_ten_vehicles_using_caching.inject(
//      atOnceUsers(1))
//  ).protocols(httpConf)

//  setUp(
//    Scenarios.dispose_vehicles_using_caching_over_10_min.inject(
//      atOnceUsers(1))
//  ).protocols(httpConf)

  /*
   * Complicated example...
   */
/* TODO reduce the time this setup takes execute and identify why some failures are observed e.g.

  ---- Errors --------------------------------------------------------------------
> regex(Complete and confirm).find(0).exists, found nothing        2285 (91.40%)
> java.util.concurrent.TimeoutException: Request timed out to lo    112 ( 4.48%)
calhost/127.0.0.1:17443 of 60000 ms
> No attribute named 'csrf_prevention_token' is defined             100 ( 4.00%)
> regex(Buying a vehicle into trade).find(0).exists, found nothi      3 ( 0.12%)
ng
================================================================================
*/
/*
  val scn = Scenarios.dispose_start_to_finish_exit_on_fail
  setUp(
    scn.inject(nothingFor(4 seconds),
      atOnceUsers(10),
      rampUsers(10) over (5 seconds),
      constantUsersPerSec(20) during (15 seconds),
      rampUsersPerSec(10) to (20) during(10 minutes),
      splitUsers(1000).into(rampUsers(10) over (10 seconds))
                       .separatedBy(10 seconds),
      splitUsers(1000).into(rampUsers(10) over (10 seconds))
                       .separatedBy(atOnceUsers(30)))
      .protocols(httpConf)
  )
*/
  setUp(disposeToTradeTests).
    protocols(httpConf).
    assertions(global.failedRequests.count.is(0))
}

redpajama_set_name: RedPajamaGithub


text:
"""nose: a discovery-based unittest extension.

nose provides extended test discovery and running features for
unittest.

Basic usage
-----------

Use the nosetests script (after installation by setuptools)::

  nosetests [options] [(optional) test files or directories]

In addition to passing command-line options, you may also put configuration
options in a .noserc or nose.cfg file in your home directory. These are
standard .ini-style config files. Put your nosetests configuration in a
[nosetests] section, with the -- prefix removed::

  [nosetests]
  verbosity=3
  with-doctest=1

There are several other ways to use the nose test runner besides the
`nosetests` script. You may use nose in a test script::

  import nose
  nose.main()

If you don't want the test script to exit with 0 on success and 1 on failure
(like unittest.main), use nose.run() instead::

  import nose
  result = nose.run()

`result` will be true if the test run succeeded, or false if any test failed
or raised an uncaught exception. Lastly, you can run nose.core directly, which
will run nose.main()::

  python /path/to/nose/core.py

Please see the usage message for the nosetests script for information
about how to control which tests nose runs, which plugins are loaded,
and the test output.

Features
--------

Writing tests is easier
=======================

nose collects tests from `unittest.TestCase` subclasses, of course. But you can
also write simple test functions, and test classes that are not subclasses of
`unittest.TestCase`. nose also supplies a number of helpful functions for
writing timed tests, testing for exceptions, and other common use cases. See
`Writing tests`_ and `Testing tools`_ for more.

Running tests is easier
=======================

nose collects tests automatically, as long as you follow some simple
guidelines for organizing your library and test code. There's no need
to manually collect test cases into test suites. Running tests is
responsive, since nose begins running tests as soon as the first test
module is loaded. See `Finding and running tests`_ for more.

Setting up your test environment is easier
==========================================

nose supports fixtures at the package, module, class, and test case
level, so expensive initialization can be done as infrequently as
possible. See Fixtures_ for more.

Doing what you want to do is easier
===================================

nose has plugin hooks for loading, running, watching and reporting on
tests and test runs. If you don't like the default collection scheme,
or it doesn't suit the layout of your project, or you need reports in
a format different from the unittest standard, or you need to collect
some additional information about tests (like code coverage or
profiling data), you can write a plugin to do so. See `Writing plugins`_
for more. nose comes with a number of builtin plugins, for
instance:

* Output capture

  Unless called with the -s (--nocapture) switch, nose will capture stdout
  during each test run, and print the captured output only for tests that
  fail or have errors. The captured output is printed immediately
  following the error or failure output for the test. (Note that output in
  teardown methods is captured, but can't be output with failing tests,
  because teardown has not yet run at the time of the failure.)

* Assert introspection

  When run with the -d (--detailed-errors) switch, nose will try to output
  additional information about the assert expression that failed with each
  failing test. Currently, this means that names in the assert expression
  will be expanded into any values found for them in the locals or globals
  in the frame in which the expression executed.

  In other words if you have a test like::

    def test_integers():
        a = 2
        assert a == 4, "assert 2 is 4"

  You will get output like::

    File "/path/to/file.py", line XX, in test_integers:
          assert a == 4, "assert 2 is 4"
    AssertionError: assert 2 is 4
      >>  assert 2 == 4, "assert 2 is 4"

  Please note that dotted names are not expanded, and callables are not called
  in the expansion.

Setuptools integration
======================

nose may be used with the setuptools_ test command. Simply specify
nose.collector as the test suite in your setup file::

  setup (
      # ...
      test_suite = 'nose.collector'
  )

Then to find and run tests, you can run::

  python setup.py test

When running under setuptools, you can configure nose settings via the
environment variables detailed in the nosetests script usage message,
or the setup.cfg or ~/.noserc or ~/.nose.cfg config files.

Please note that when run under the setuptools test command, some plugins will
not be available, including the builtin coverage, and profiler plugins.

nose also includes its own setuptools command, ``nosetests``, that
provides support for all plugins and command line options. See
nose.commands_ for more information about the ``nosetests`` command.

.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
.. _nose.commands: #commands

Writing tests
-------------

As with py.test_, nose tests need not be subclasses of
`unittest.TestCase`. Any function or class that matches the configured
testMatch regular expression (`(?:^|[\\b_\\.-])[Tt]est)` by default --
that is, has test or Test at a word boundary or following a - or _)
and lives in a module that also matches that expression will be run as
a test. For the sake of compatibility with legacy unittest test cases,
nose will also load tests from `unittest.TestCase` subclasses just
like unittest does. Like py.test, functional tests will be run in the
order in which they appear in the module file. TestCase derived tests
and other test classes are run in alphabetical order.

.. _py.test: http://codespeak.net/py/current/doc/test.html

Fixtures
========

nose supports fixtures (setup and teardown methods) at the package,
module, class, and test level. As with py.test or unittest fixtures,
setup always runs before any test (or collection of tests for test
packages and modules); teardown runs if setup has completed
successfully, whether or not the test or tests pass. For more detail
on fixtures at each level, see below.

Test packages
=============

nose allows tests to be grouped into test packages. This allows
package-level setup; for instance, if you need to create a test database
or other data fixture for your tests, you may create it in package setup
and remove it in package teardown once per test run, rather than having to
create and tear it down once per test module or test case.

To create package-level setup and teardown methods, define setup and/or
teardown functions in the `__init__.py` of a test package. Setup methods may
be named `setup`, `setup_package`, `setUp`, or `setUpPackage`; teardown may
be named `teardown`, `teardown_package`, `tearDown` or `tearDownPackage`.
Execution of tests in a test package begins as soon as the first test
module is loaded from the test package.

Test modules
============

A test module is a python module that matches the testMatch regular
expression. Test modules offer module-level setup and teardown; define the
method `setup`, `setup_module`, `setUp` or `setUpModule` for setup,
`teardown`, `teardown_module`, or `tearDownModule` for teardown. Execution
of tests in a test module begins after all tests are collected.

Test classes
============

A test class is a class defined in a test module that is either a subclass of
`unittest.TestCase`, or matches testMatch. Test classes that don't descend
from `unittest.TestCase` are run in the same way as those that do: methods in
the class that match testMatch are discovered, and a test case constructed to
run each with a fresh instance of the test class. Like `unittest.TestCase`
subclasses, other test classes may define setUp and tearDown methods that will
be run before and after each test method. Test classes that do not descend
from `unittest.TestCase` may also include generator methods, and class-level
fixtures. Class level fixtures may be named `setup_class`, `setupClass`,
`setUpClass`, `setupAll` or `setUpAll` for set up and `teardown_class`,
`teardownClass`, `tearDownClass`, `teardownAll` or `tearDownAll` for teardown
and must be class methods.

Test functions
==============

Any function in a test module that matches testMatch will be wrapped in a
`FunctionTestCase` and run as a test. The simplest possible failing test is
therefore::

  def test():
      assert False

And the simplest passing test::

  def test():
      pass

Test functions may define setup and/or teardown attributes, which will be
run before and after the test function, respectively. A convenient way to
do this, especially when several test functions in the same module need
the same setup, is to use the provided with_setup decorator::

  def setup_func():
      # ...

  def teardown_func():
      # ...

  @with_setup(setup_func, teardown_func)
  def test():
      # ...

For python 2.3 or earlier, add the attributes by calling the decorator
function like so::

  def test():
      # ...
  test = with_setup(setup_func, teardown_func)(test)

or by direct assignment::

  test.setup = setup_func
  test.teardown = teardown_func

Please note that `with_setup` is useful *only* for test functions, not
for test methods in `unittest.TestCase` subclasses or other test
classes. For those cases, define `setUp` and `tearDown` methods in the
class.

Test generators
===============

nose supports test functions and methods that are generators. A simple
example from nose's selftest suite is probably the best explanation::

  def test_evens():
      for i in range(0, 5):
          yield check_even, i, i*3

  def check_even(n, nn):
      assert n % 2 == 0 or nn % 2 == 0

This will result in 4 tests. nose will iterate the generator, creating a
function test case wrapper for each tuple it yields. As in the example, test
generators must yield tuples, the first element of which must be a callable
and the remaining elements the arguments to be passed to the callable.

By default, the test name output for a generated test in verbose mode
will be the name of the generator function or method, followed by the
args passed to the yielded callable. If you want to show a different test
name, set the ``description`` attribute of the yielded callable.

Setup and teardown functions may be used with test generators. The setup and
teardown attributes must be attached to the generator function::

  @with_setup(setup_func, teardown_func)
  def test_generator():
      ...
      yield func, arg, arg ...

The setup and teardown functions will be executed for each test that the
generator returns.

For generator methods, the setUp and tearDown methods of the class (if any)
will be run before and after each generated test case.

Please note that method generators *are not* supported in `unittest.TestCase`
subclasses.

Finding and running tests
-------------------------

nose, by default, follows a few simple rules for test discovery.

* If it looks like a test, it's a test. Names of directories, modules,
  classes and functions are compared against the testMatch regular
  expression, and those that match are considered tests. Any class that is a
  `unittest.TestCase` subclass is also collected, so long as it is inside of a
  module that looks like a test.

* Directories that don't look like tests and aren't packages are not
  inspected.

* Packages are always inspected, but they are only collected if they look
  like tests. This means that you can include your tests inside of your
  packages (somepackage/tests) and nose will collect the tests without
  running package code inappropriately.

* When a project appears to have library and test code organized into
  separate directories, library directories are examined first.

* When nose imports a module, it adds that module's directory to sys.path;
  when the module is inside of a package, like package.module, it will be
  loaded as package.module and the directory of *package* will be added to
  sys.path.

* If an object defines a __test__ attribute that does not evaluate to
  True, that object will not be collected, nor will any objects it
  contains.

Be aware that plugins and command line options can change any of those rules.

Testing tools
-------------

The nose.tools module provides a number of testing aids that you may
find useful, including decorators for restricting test execution time
and testing for exceptions, and all of the same assertX methods found
in `unittest.TestCase` (only spelled in pep08 fashion, so `assert_equal`
rather than `assertEqual`). See `nose.tools`_ for a complete list.

.. _nose.tools: http://code.google.com/p/python-nose/wiki/TestingTools

About the name
--------------

* nose is the least silly short synonym for discover in the dictionary.com
  thesaurus that does not contain the word 'spy'.
* Pythons have noses
* The nose knows where to find your tests
* Nose Obviates Suite Employment

Contact the author
------------------

You can email me at jpellerin+nose at gmail dot com.

To report bugs, ask questions, or request features, please use the *issues*
tab at the Google code site: http://code.google.com/p/python-nose/issues/list.
Patches are welcome!

Similar test runners
--------------------

nose was inspired mainly by py.test_, which is a great test runner, but
formerly was not all that easy to install, and is not based on unittest.

Test suites written for use with nose should work equally well with py.test,
and vice versa, except for the differences in output capture and command line
arguments for the respective tools.

.. _py.test: http://codespeak.net/py/current/doc/test.html

License and copyright
---------------------

nose is copyright Jason Pellerin 2005-2008

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
"""

from nose.core import collector, main, run, run_exit, runmodule
# backwards compatibility
from nose.exc import SkipTest, DeprecatedTest
from nose.tools import with_setup

__author__ = 'Jason Pellerin'
__versioninfo__ = (0, 10, 1)
__version__ = '.'.join(map(str, __versioninfo__))

__all__ = [
    'main', 'run', 'run_exit', 'runmodule', 'with_setup',
    'SkipTest', 'DeprecatedTest', 'collector'
    ]


text:
void CalculateIdleState(unsigned int idle_threshold, IdleCallback notify) {
  NOTIMPLEMENTED();
  notify.Run(IDLE_STATE_ACTIVE);
}


text:
package com.google.ads.googleads.v11.enums;

public final class AssetSetStatusProto {
  private AssetSetStatusProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_google_ads_googleads_v11_enums_AssetSetStatusEnum_descriptor;
  static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_ads_googleads_v11_enums_AssetSetStatusEnum_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n5google/ads/googleads/v11/enums/asset_s" +
      "et_status.proto\022\036google.ads.googleads.v1" +
      "1.enums\"^\n\022AssetSetStatusEnum\"H\n\016AssetSe" +
      "tStatus\022\017\n\013UNSPECIFIED\020\000\022\013\n\007UNKNOWN\020\001\022\013\n" +
      "\007ENABLED\020\002\022\013\n\007REMOVED\020\003B\355\001\n\"com.google.a" +
      "ds.googleads.v11.enumsB\023AssetSetStatusPr" +
      "otoP\001ZCgoogle.golang.org/genproto/google" +
      "apis/ads/googleads/v11/enums;enums\242\002\003GAA" +
      "\252\002\036Google.Ads.GoogleAds.V11.Enums\312\002\036Goog" +
      "le\\Ads\\GoogleAds\\V11\\Enums\352\002\"Google::Ads" +
      "::GoogleAds::V11::Enumsb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_google_ads_googleads_v11_enums_AssetSetStatusEnum_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_google_ads_googleads_v11_enums_AssetSetStatusEnum_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_google_ads_googleads_v11_enums_AssetSetStatusEnum_descriptor,
        new java.lang.String[] { });
  }

  // @@protoc_insertion_point(outer_class_scope)
}


text:
/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: JspC/ApacheTomcat8
 * Generated at: 2016-11-04 01:18:34 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.jivesoftware.openfire.admin;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.jivesoftware.openfire.Connection;
import org.jivesoftware.openfire.spi.ConnectionManagerImpl;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.spi.ConnectionType;
import org.jivesoftware.util.ParamUtils;

public final class compression_002dsettings_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
  }

  public void _jspDestroy() {
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.release();
  }

  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			"error.jsp", true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n\n\n\n\n\n\n\n\n\n\n");
      org.jivesoftware.util.WebManager webManager = null;
      webManager = (org.jivesoftware.util.WebManager) _jspx_page_context.getAttribute("webManager", javax.servlet.jsp.PageContext.PAGE_SCOPE);
      if (webManager == null){
        webManager = new org.jivesoftware.util.WebManager();
        _jspx_page_context.setAttribute("webManager", webManager, javax.servlet.jsp.PageContext.PAGE_SCOPE);
      }
      out.write('\n');
 webManager.init(request, response, session, application, out );
      out.write("\n\n\n\n<title>");
      if (_jspx_meth_fmt_005fmessage_005f0(_jspx_page_context))
        return;
      out.write("</title>\n<meta name=\"pageID\" content=\"server-compression\"/>\n\n\n\n");
 // Get parameters:
    boolean update = request.getParameter("update") != null;
    boolean clientEnabled = ParamUtils.getBooleanParameter(request, "clientEnabled");
    boolean serverEnabled = ParamUtils.getBooleanParameter(request, "serverEnabled");

    final ConnectionManagerImpl connectionManager = (ConnectionManagerImpl) XMPPServer.getInstance().getConnectionManager();

    if (update) {
        // Update c2s compression policy
        final Connection.CompressionPolicy newClientPolicy = clientEnabled ? Connection.CompressionPolicy.optional : Connection.CompressionPolicy.disabled;
        connectionManager.getListener( ConnectionType.SOCKET_C2S, false ).setCompressionPolicy( newClientPolicy );
        connectionManager.getListener( ConnectionType.SOCKET_C2S, true  ).setCompressionPolicy( newClientPolicy );
        connectionManager.getListener( ConnectionType.BOSH_C2S,   false ).setCompressionPolicy( newClientPolicy );
        connectionManager.getListener( ConnectionType.BOSH_C2S,   true  ).setCompressionPolicy( newClientPolicy );

        // Update s2s compression policy
        final Connection.CompressionPolicy newServerPolicy = serverEnabled ? Connection.CompressionPolicy.optional : Connection.CompressionPolicy.disabled;
        connectionManager.getListener( ConnectionType.SOCKET_S2S, false ).setCompressionPolicy( newServerPolicy );

        // TODO Add components, connection managers
        // Log the event
        webManager.logEvent("set compression policy", "c2s compression = "+clientEnabled+"\ns2s compression = "+serverEnabled);

      out.write("\n
\n
\n
\n
	\n        \n        ");
      if (_jspx_meth_fmt_005fmessage_005f1(_jspx_page_context))
        return;
      out.write("\n
\n
\n
\n

\n    ");

    }

    // Set page vars
    clientEnabled = Connection.CompressionPolicy.optional.equals( connectionManager.getListener( ConnectionType.SOCKET_C2S, false ).getCompressionPolicy() );
        serverEnabled = Connection.CompressionPolicy.optional.equals( connectionManager.getListener( ConnectionType.SOCKET_S2S, false ).getCompressionPolicy() );

      out.write("\n\n
\n");
      if (_jspx_meth_fmt_005fmessage_005f2(_jspx_page_context))
        return;
      out.write("\n
\n\n\n\n<form action=\"compression-settings.jsp\">\n\n\t
\n\n\t
");
      if (_jspx_meth_fmt_005fmessage_005f3(_jspx_page_context))
        return;
      out.write("
\n\t
\n
\n
\n            \n                <input type=\"radio\" name=\"clientEnabled\" value=\"true\" id=\"rb01\"\n                 ");
      out.print( (clientEnabled ? "checked" : "") );
      out.write(">\n            	\n            \n                \n                ");
      if (_jspx_meth_fmt_005fmessage_005f4(_jspx_page_context))
        return;
      out.write(" -\n                ");
      if (_jspx_meth_fmt_005fmessage_005f5(_jspx_page_context))
        return;
      out.write("\n                \n            	\n
\n
\n            \n                <input type=\"radio\" name=\"clientEnabled\" value=\"false\" id=\"rb02\"\n                 ");
      out.print( (!clientEnabled ? "checked" : "") );
      out.write(">\n            	\n            \n                \n                ");
      if (_jspx_meth_fmt_005fmessage_005f6(_jspx_page_context))
        return;
      out.write(" -\n                ");
      if (_jspx_meth_fmt_005fmessage_005f7(_jspx_page_context))
        return;
      out.write("\n                \n            	\n
\n
\n
\n\n\t
\n\t
\n\n\t
");
      if (_jspx_meth_fmt_005fmessage_005f8(_jspx_page_context))
        return;
      out.write("
\n\t
\n
\n
\n            \n                <input type=\"radio\" name=\"serverEnabled\" value=\"true\" id=\"rb03\"\n             ");
      out.print( (serverEnabled ? "checked" : "") );
      out.write(">\n            	\n            \n                \n                ");
      if (_jspx_meth_fmt_005fmessage_005f9(_jspx_page_context))
        return;
      out.write(" -\n                ");
      if (_jspx_meth_fmt_005fmessage_005f10(_jspx_page_context))
        return;
      out.write("\n                \n            	\n
\n
\n            \n                <input type=\"radio\" name=\"serverEnabled\" value=\"false\" id=\"rb04\"\n             ");
      out.print( (!serverEnabled ? "checked" : "") );
      out.write(">\n            	\n            \n                \n                ");
      if (_jspx_meth_fmt_005fmessage_005f11(_jspx_page_context))
        return;
      out.write(" -\n                ");
      if (_jspx_meth_fmt_005fmessage_005f12(_jspx_page_context))
        return;
      out.write("\n                \n            	\n
\n
\n
\n\t
\n    <input type=\"submit\" name=\"update\" value=\"");
      if (_jspx_meth_fmt_005fmessage_005f13(_jspx_page_context))
        return;
      out.write("\">\n</form>\n\n\n\n\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }

  private boolean _jspx_meth_fmt_005fmessage_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f0 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f0.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f0.setParent(null);
    // /compression-settings.jsp(35,7) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f0.setKey("compression.settings.title");
    int _jspx_eval_fmt_005fmessage_005f0 = _jspx_th_fmt_005fmessage_005f0.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f0);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f0);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f1(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f1 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f1.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f1.setParent(null);
    // /compression-settings.jsp(68,8) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f1.setKey("compression.settings.update");
    int _jspx_eval_fmt_005fmessage_005f1 = _jspx_th_fmt_005fmessage_005f1.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f1);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f1);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f2(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f2 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f2.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f2.setParent(null);
    // /compression-settings.jsp(83,0) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f2.setKey("compression.settings.info");
    int _jspx_eval_fmt_005fmessage_005f2 = _jspx_th_fmt_005fmessage_005f2.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f2);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f2);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f3(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f3 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f3.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f3.setParent(null);
    // /compression-settings.jsp(92,5) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f3.setKey("compression.settings.client.policy");
    int _jspx_eval_fmt_005fmessage_005f3 = _jspx_th_fmt_005fmessage_005f3.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f3);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f3);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f4(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f4 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f4.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f4.setParent(null);
    // /compression-settings.jsp(102,19) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f4.setKey("compression.settings.client.enable");
    int _jspx_eval_fmt_005fmessage_005f4 = _jspx_th_fmt_005fmessage_005f4.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f4);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f4);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f5(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f5 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f5.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f5.setParent(null);
    // /compression-settings.jsp(103,16) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f5.setKey("compression.settings.client.enable_info");
    int _jspx_eval_fmt_005fmessage_005f5 = _jspx_th_fmt_005fmessage_005f5.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f5);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f5);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f6(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f6 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f6.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f6.setParent(null);
    // /compression-settings.jsp(114,19) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f6.setKey("compression.settings.client.disable");
    int _jspx_eval_fmt_005fmessage_005f6 = _jspx_th_fmt_005fmessage_005f6.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f6);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f6);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f7(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f7 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f7.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f7.setParent(null);
    // /compression-settings.jsp(115,16) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f7.setKey("compression.settings.client.disable_info");
    int _jspx_eval_fmt_005fmessage_005f7 = _jspx_th_fmt_005fmessage_005f7.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f7);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f7);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f8(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f8 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f8.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f8.setParent(null);
    // /compression-settings.jsp(125,5) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f8.setKey("compression.settings.server.policy");
    int _jspx_eval_fmt_005fmessage_005f8 = _jspx_th_fmt_005fmessage_005f8.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f8);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f8);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f9(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f9 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f9.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f9.setParent(null);
    // /compression-settings.jsp(135,19) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f9.setKey("compression.settings.server.enable");
    int _jspx_eval_fmt_005fmessage_005f9 = _jspx_th_fmt_005fmessage_005f9.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f9);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f9);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f10(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f10 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f10.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f10.setParent(null);
    // /compression-settings.jsp(136,16) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f10.setKey("compression.settings.server.enable_info");
    int _jspx_eval_fmt_005fmessage_005f10 = _jspx_th_fmt_005fmessage_005f10.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f10);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f10);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f11(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f11 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f11.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f11.setParent(null);
    // /compression-settings.jsp(147,19) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f11.setKey("compression.settings.server.disable");
    int _jspx_eval_fmt_005fmessage_005f11 = _jspx_th_fmt_005fmessage_005f11.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f11);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f11);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f12(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f12 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f12.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f12.setParent(null);
    // /compression-settings.jsp(148,16) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f12.setKey("compression.settings.server.disable_info");
    int _jspx_eval_fmt_005fmessage_005f12 = _jspx_th_fmt_005fmessage_005f12.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f12);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f12);
    return false;
  }

  private boolean _jspx_meth_fmt_005fmessage_005f13(javax.servlet.jsp.PageContext _jspx_page_context)
          throws java.lang.Throwable {
    javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
    javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
    //  fmt:message
    org.apache.taglibs.standard.tag.rt.fmt.MessageTag _jspx_th_fmt_005fmessage_005f13 = (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.standard.tag.rt.fmt.MessageTag.class);
    _jspx_th_fmt_005fmessage_005f13.setPageContext(_jspx_page_context);
    _jspx_th_fmt_005fmessage_005f13.setParent(null);
    // /compression-settings.jsp(155,46) name = key type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
    _jspx_th_fmt_005fmessage_005f13.setKey("global.save_settings");
    int _jspx_eval_fmt_005fmessage_005f13 = _jspx_th_fmt_005fmessage_005f13.doStartTag();
    if (_jspx_th_fmt_005fmessage_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f13);
      return true;
    }
    _005fjspx_005ftagPool_005ffmt_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_fmt_005fmessage_005f13);
    return false;
  }
}


text:
import metascraper = require('metascraper');
import metascraperImage = require('metascraper-image');

const html = 'example';
const url = 'https://example.org';

metascraper([metascraperImage()])({ html, url }).then(data => {
    data;
});


text:
using Android.App;
using Android.Content.PM;
using App2Night.DependencyService;
using App2Night.Droid.Service;

[assembly: Xamarin.Forms.Dependency(typeof(AndroidAppLookupServiceService))]
namespace App2Night.Droid.Service
{
    public class AndroidAppLookupServiceService : IAndroidAppLookupService
    {
        public bool DoesAppExist(string packageName)
        {
            PackageManager pm = Application.Context.PackageManager;
            bool installed = false;
            try
            {
                pm.GetPackageInfo(packageName, PackageInfoFlags.Activities);
                installed = true;
            }
            catch (PackageManager.NameNotFoundException e)
            {
                installed = false;
            }
            return installed;
        }
    }
}


text:
namespace content {

class CONTENT_EXPORT CompositorClient {
 public:
  // Gives the client a chance to update the layer tree host before compositing.
  virtual void UpdateLayerTreeHost() {}

  // The compositor has completed swapping a frame.
  virtual void OnSwapBuffersCompleted(int pending_swap_buffers) {}

 protected:
  CompositorClient() {}
  virtual ~CompositorClient() {}

 private:
  DISALLOW_COPY_AND_ASSIGN(CompositorClient);
};

}  // namespace content

#endif  // CONTENT_PUBLIC_BROWSER_ANDROID_COMPOSITOR_CLIENT_H_


text:
{% load staticfiles %}

<!DOCTYPE html>

    <meta charset="UTF-8">
    <title>Open Data Multisearch</title>
    <link href="{% static "search/js/jquery-ui-1.11.4.custom/jquery-ui.min.css" %}" rel="stylesheet" type="text/css" media="screen">
    <link href="{% static "search/style.css" %}" rel="stylesheet" type="text/css" media="screen">

Open Data Multisearch

        <form action="/" method="get" class="search" id="search_form">
            <input type="text" name="query" value="{{query}}" class="query" id="query"> <input type="submit" value="Search" class="submit">

                Published: <input type="date" name="pubfrom" value="{{pubfrom}}" id="pubfrom" placeholder="yyyy-mm-dd"> - <input type="date" name="pubto" value="{{pubto}}" id="pubto" placeholder="yyyy-mm-dd">

                Portals to search:

                    {% for p in portals %}
<input type="checkbox" name="{{p.portal.id}}" id="portal_{{p.portal.id}}" {% if p.active %}checked="true"{% endif %}>{{p.portal.name}} link
{% endfor %}

        </form>

    {% if narrowing_terms %}

            Narrow search:
            {% for n in narrowing_terms %}

{{n}}

            {% endfor %}

    {% endif %}

    {% if portal_errors %}

            Received errors from {% for p in portal_errors %}
{{p.name}}
{% endfor %}

    {% endif %}

        {% if prev_get_params %}
            <<
        {% endif %}

        {% if next_get_params %}
            >>
        {% endif %}

        Page {{page_number_plus_one}}

    {% for r in results %}

            {{r.title}} {{r.portal}}

{{r.notes}}

    {% empty %}
        {% if has_query %}

No results found.

        {% endif %}
    {% endfor %}

        {% if prev_get_params %}
            <<
        {% endif %}

        {% if next_get_params %}
            >>
        {% endif %}

        Page {{page_number_plus_one}}

        Project Page


text:
from django.conf.urls.defaults import patterns, url

urlpatterns = patterns(
    '',
    url(r'^authorize$', 'google_credentials.views.authorize'),
    url(r'^callback$', 'google_credentials.views.callback'),
    url(r'^purge$', 'google_credentials.views.purge'),
)


text:
package com.lijunyan.blackmusic.view;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;

/**
 * Created by lijunyan on 2017/3/10.
 */

public class MyViewPager extends ViewPager {

    boolean isSliding = false;

    public MyViewPager(Context context) {
        super(context);
    }

    public MyViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (!isSliding){
            return false;
        }else {
            return super.onInterceptTouchEvent(ev);
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        if (!isSliding){
            return false;
        }else {
            return super.onTouchEvent(ev);
        }
    }

    public void setSliding(boolean sliding) {
        isSliding = sliding;
    }
}


text:
export = _;
export as namespace _;

declare const _: _.LoDashStatic;
declare namespace _ {
    // tslint:disable-next-line no-empty-interface (This will be augmented)
    interface LoDashStatic {}
}

// Backward compatibility with --target es5
declare global {
    // tslint:disable-next-line:no-empty-interface
    interface Set<T> { }
    // tslint:disable-next-line:no-empty-interface
    interface Map<K, V> { }
    // tslint:disable-next-line:no-empty-interface
    interface WeakSet<T> { }
    // tslint:disable-next-line:no-empty-interface
    interface WeakMap<K extends object, V> { }
}


text:
package com.hazelcast.internal.metrics.impl;

import com.hazelcast.internal.metrics.DoubleProbeFunction;
import com.hazelcast.internal.metrics.LongProbeFunction;
import com.hazelcast.internal.metrics.ProbeBuilder;
import com.hazelcast.internal.metrics.ProbeFunction;
import com.hazelcast.internal.metrics.ProbeLevel;
import com.hazelcast.internal.metrics.ProbeUnit;

import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;

import static com.hazelcast.internal.metrics.MetricsUtil.containsSpecialCharacters;
import static com.hazelcast.internal.metrics.MetricsUtil.escapeMetricNamePart;

public class ProbeBuilderImpl implements ProbeBuilder {

    private final MetricsRegistryImpl metricsRegistry;
    private final String keyPrefix;

    ProbeBuilderImpl(MetricsRegistryImpl metricsRegistry) {
        this.metricsRegistry = metricsRegistry;
        this.keyPrefix = "[";
    }

    private ProbeBuilderImpl(MetricsRegistryImpl metricsRegistry, String keyPrefix) {
        this.metricsRegistry = metricsRegistry;
        this.keyPrefix = keyPrefix;
    }

    @Override
    @CheckReturnValue
    public ProbeBuilderImpl withTag(String tag, String value) {
        assert containsSpecialCharacters(tag) : "tag contains special characters";
        return new ProbeBuilderImpl(
                metricsRegistry, keyPrefix
                        + (keyPrefix.length() == 1 ? "" : ",")
                        + tag + '=' + escapeMetricNamePart(value));
    }

    @Override
    public String metricName() {
        return keyPrefix + ']';
    }

    @Override
    public <S> void register(
            @Nonnull S source,
            @Nonnull String metricName,
            @Nonnull ProbeLevel level,
            @Nonnull ProbeUnit unit,
            @Nonnull DoubleProbeFunction<S> probe
    ) {
        String name = this
                .withTag("unit", unit.name().toLowerCase())
                .withTag("metric", metricName)
                .metricName();
        metricsRegistry.register(source, name, level, probe);
    }

    @Override
    public <S> void register(
            @Nonnull S source,
            @Nonnull String metricName,
            @Nonnull ProbeLevel level,
            @Nonnull ProbeUnit unit,
            @Nonnull LongProbeFunction<S> probe
    ) {
        String name = this
                .withTag("unit", unit.name().toLowerCase())
                .withTag("metric", metricName)
                .metricName();
        metricsRegistry.register(source, name, level, probe);
    }

    <S> void register(S source, String metricName, ProbeLevel level, ProbeFunction probe) {
        metricsRegistry.registerInternal(source, withTag("metric", metricName).metricName(), level, probe);
    }

    @Override
    public <S> void scanAndRegister(S source) {
        SourceMetadata metadata = metricsRegistry.loadSourceMetadata(source.getClass());
        for (FieldProbe field : metadata.fields()) {
            field.register(this, source);
        }

        for (MethodProbe method : metadata.methods()) {
            method.register(this, source);
        }
    }
}


text:
package com.yeleman.nutrition;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.yeleman.snisidroid.CheckedFormActivity;
import com.yeleman.snisidroid.Constants;
import com.yeleman.snisidroid.R;

/**
 * Created by fad on 29/10/14.
 */
public class NutritionURENIReport extends CheckedFormActivity implements View.OnClickListener {
    private final static String TAG = Constants.getLogTag("NutritionURENIReport");

    private TextView instructionLabel;
    private Button u6ReportButton;
    private Button u59o6URENASButton;
    private Button o59ReportButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.nutrition_ureni_report);
        setTitle(String.format(getString(R.string.sub_app_name_nut),
                getString(R.string.ureni)));
        Log.d(TAG, "onCreate NutritionURENIReport");

        setupSMSReceiver();
        setupUI();
    }

    @Override
    public void onResume() {
        super.onResume();
        setupUI();
    }

    protected void setupUI() {
        Log.d(TAG, "setupUI NutritionURENIReport");
        NutritionURENIReportData report = NutritionURENIReportData.get();

        instructionLabel = (TextView) findViewById(R.id.instructionLabel);
        if (report.isComplete()) {
            instructionLabel.setText(R.string.nutrition_instructions_complete);
        } else{
            instructionLabel.setText(R.string.nutrition_instructions_incomplete);
        }

        u6ReportButton = (Button) findViewById(R.id.u6URENIButton);
        u6ReportButton.setText(String.format(getString(R.string.nutrition_fillout_section), getString(R.string.u6)));
        Constants.updateButtonCompletion(u6ReportButton, report.u6_is_complete);
        u6ReportButton.setOnClickListener(this);

        u59o6URENASButton = (Button) findViewById(R.id.u59o6URENASButton);
        u59o6URENASButton.setText(String.format(getString(R.string.nutrition_fillout_section), getString(R.string.u59o6)));
        Constants.updateButtonCompletion(u59o6URENASButton, report.u59o6_is_complete);
        u59o6URENASButton.setOnClickListener(this);

        o59ReportButton = (Button) findViewById(R.id.o59URENiButton);
        o59ReportButton.setText(String.format(getString(R.string.nutrition_fillout_section), getString(R.string.o59)));
        Constants.updateButtonCompletion(o59ReportButton, report.o59_is_complete);
        o59ReportButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        Object activity = null;
        switch (view.getId()) {
            case R.id.u6URENIButton:
                activity = NutritionURENIU6Report.class;
                break;
            case R.id.u59o6URENASButton:
                activity = NutritionURENIU59O6Report.class;
                break;
            case R.id.o59URENiButton:
                activity = NutritionURENIO59Report.class;
                break;
        }
        Intent intent = new Intent(
                getApplicationContext(),
                (Class<?>) activity);
        startActivity(intent);
    }

    protected String buildSMSText() {
        NutritionURENIReportData report = NutritionURENIReportData.get();
        return report.buildSMSText();
    }
}


text:
FactoryGirl.define do
  factory :account_repository, class: BankingApp::Repositories::AccountRepository do
    balance 445
  end
end


text:
 .. Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

 ..   http://www.apache.org/licenses/LICENSE-2.0

 .. Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

.. _howto/operator:PythonOperator:

PythonOperator
==============

Use the :class:`~airflow.operators.python.PythonOperator` to execute
Python callables.

.. exampleinclude:: /../../airflow/example_dags/example_python_operator.py
    :language: python
    :dedent: 4
    :start-after: [START howto_operator_python]
    :end-before: [END howto_operator_python]

Passing in arguments
^^^^^^^^^^^^^^^^^^^^

Use the ``op_args`` and ``op_kwargs`` arguments to pass additional arguments
to the Python callable.

.. exampleinclude:: /../../airflow/example_dags/example_python_operator.py
    :language: python
    :dedent: 4
    :start-after: [START howto_operator_python_kwargs]
    :end-before: [END howto_operator_python_kwargs]

Templating
^^^^^^^^^^

Airflow passes in an additional set of keyword arguments: one for each of the
:ref:`Jinja template variables <templates:variables>` and a ``templates_dict``
argument.

The ``templates_dict`` argument is templated, so each value in the dictionary
is evaluated as a :ref:`Jinja template <concepts:jinja-templating>`.

.. _howto/operator:PythonVirtualenvOperator:

PythonVirtualenvOperator
========================

Use the :class:`~airflow.operators.python.PythonVirtualenvOperator` to execute Python callables inside a new Python virtual environment. The ``virtualenv`` package needs to be installed in the environment that runs Airflow (as optional dependency ``pip install airflow[virtualenv] --constraint ...``).

.. exampleinclude:: /../../airflow/example_dags/example_python_operator.py
    :language: python
    :dedent: 4
    :start-after: [START howto_operator_python_venv]
    :end-before: [END howto_operator_python_venv]

Passing in arguments
^^^^^^^^^^^^^^^^^^^^

You can use the ``op_args`` and ``op_kwargs`` arguments the same way you use it in the PythonOperator.
Unfortunately we currently do not support to serialize ``var`` and ``ti`` / ``task_instance`` due to incompatibilities
with the underlying library. For Airflow context variables make sure that you either have access to Airflow through
setting ``system_site_packages`` to ``True`` or add ``apache-airflow`` to the ``requirements`` argument.
Otherwise you won't have access to the most context variables of Airflow in ``op_kwargs``.
If you want the context related to datetime objects like ``data_interval_start`` you can add ``pendulum`` and
``lazy_object_proxy``.

If additional parameters for package installation are needed pass them in ``requirements.txt`` as in the example below:

.. code-block::

  SomePackage==0.2.1 --pre --index-url http://some.archives.com/archives
  AnotherPackage==1.4.3 --no-index --find-links /my/local/archives

All supported options are listed in the `requirements file format <https://pip.pypa.io/en/stable/reference/requirements-file-format/#supported-options>`_.

.. _howto/operator:ShortCircuitOperator:

ShortCircuitOperator
========================

Use the :class:`~airflow.operators.python.ShortCircuitOperator` to control whether a pipeline continues
if a condition is satisfied or a truthy value is obtained. The evaluation of this condition and truthy value
is done via the output of a ``python_callable``. If the ``python_callable`` returns True or a truthy value,
the pipeline is allowed to continue and an :ref:`XCom <concepts:xcom>` of the output will be pushed. If the
output is False or a falsy value, the pipeline will be short-circuited based on the configured
short-circuiting (more on this later). In the example below, the tasks that follow the "condition_is_True"
ShortCircuitOperator will execute while the tasks downstream of the "condition_is_False" ShortCircuitOperator
will be skipped.

.. exampleinclude:: /../../airflow/example_dags/example_short_circuit_operator.py
    :language: python
    :dedent: 4
    :start-after: [START howto_operator_short_circuit]
    :end-before: [END howto_operator_short_circuit]

The "short-circuiting" can be configured to either respect or ignore the :ref:`trigger rule <concepts:trigger-rules>`
defined for downstream tasks. If ``ignore_downstream_trigger_rules`` is set to True, the default configuration, all
downstream tasks are skipped without considering the ``trigger_rule`` defined for tasks.  If this parameter is
set to False, the direct downstream tasks are skipped but the specified ``trigger_rule`` for other subsequent
downstream tasks are respected. In this short-circuiting configuration, the operator assumes the direct
downstream task(s) were purposely meant to be skipped but perhaps not other subsequent tasks. This
configuration is especially useful if only *part* of a pipeline should be short-circuited rather than all
tasks which follow the ShortCircuitOperator task.

In the example below, notice that the ShortCircuitOperator task is configured to respect downstream trigger
rules. This means while the tasks that follow the "short_circuit" ShortCircuitOperator task will be skipped
since the ``python_callable`` returns False, "task_7" will still execute as its set to execute when upstream
tasks have completed running regardless of status (i.e. the ``TriggerRule.ALL_DONE`` trigger rule).

.. exampleinclude:: /../../airflow/example_dags/example_short_circuit_operator.py
    :language: python
    :dedent: 4
    :start-after: [START howto_operator_short_circuit_trigger_rules]
    :end-before: [END howto_operator_short_circuit_trigger_rules]

Passing in arguments
^^^^^^^^^^^^^^^^^^^^

Both the ``op_args`` and ``op_kwargs`` arguments can be used in same way as described for the PythonOperator.

Templating
^^^^^^^^^^

Jinja templating can be used in same way as described for the PythonOperator.


text:
To start the test server, just run

	python -m http.server


text:
SYNONYM

#### According to
Index Fungorum

#### Published in
null

#### Original name
Omphalopsis convexa Murrill

### Remarks
null


text:
package com.fasterxml.jackson.databind.jsontype;

public class BasicPolymorphicTypeValidator extends PolymorphicTypeValidator {
    public static BasicPolymorphicTypeValidator.Builder builder() { return null; }

    public static class Builder {
        public BasicPolymorphicTypeValidator.Builder allowIfSubType(final String prefixForSubType) { return null; }
        public BasicPolymorphicTypeValidator build() { return null; }
    }
}


text:
//===-- SPUHazardRecognizers.h - Cell SPU Hazard Recognizer -----*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines hazard recognizers for scheduling on the Cell SPU
// processor.
//
//===----------------------------------------------------------------------===//

#ifndef SPUHAZRECS_H
#define SPUHAZRECS_H

#include "llvm/CodeGen/ScheduleHazardRecognizer.h"

namespace llvm {

class TargetInstrInfo;

/// SPUHazardRecognizer
class SPUHazardRecognizer : public ScheduleHazardRecognizer
{
public:
  SPUHazardRecognizer(const TargetInstrInfo &/*TII*/) {}
  virtual HazardType getHazardType(SUnit *SU, int Stalls);
  virtual void EmitInstruction(SUnit *SU);
  virtual void AdvanceCycle();
  virtual void EmitNoop();
};

} // end namespace llvm

#endif


text:
<?php

namespace Bez\Backlog\Routine;

use Bez\Backlog\Entity\JobInterface;

class Result
{
    const SUCCESS = 1;

    const FAILURE = 0;

    const STOP = -1;

    protected $status;

    protected $job;

    protected $messages;

    public function __construct($status, JobInterface $job = null, $messages = null)
    {
        $this->status = $status;

        if (null !== $job) {
            $this->job = $job;
        }

        if (null !== $messages) {
            $this->messages = is_array(messages) ? $messages : array($messages);
        }
    }

    public function getStatus()
    {
        return $this->status;
    }

    public function getJob()
    {
        return $this->job;
    }
}