classads

prop
SYNOPSIS
    string * P_CLASS_ADS  "ClassAds"  -- experimental

    string * Set(P_CLASS_ADS, string * value)
    string * Query(P_CLASS_ADS)
      or
    string SetClassAds(string * value)
    string QueryClassAds()

      also:
    string * AddClassAdj (string|string * id)
    string * RemoveClassAdj (string|string * id)

DESCRIPTION
    The property holds an array of strings which serve as classification
    adjectives of the object. For example a torch has "burnable" set as class
    adjective.
    The strings set are mapped to lowercase, leading and trailing spaces
    are removed, sequences of embedded spaces are shrunk to just one
    space each.

    As the /std-things initialise P_CLASS_ADS with generic adjective strings
    (to make 'all burnable things' possible), changes to P_CLASS_IDS should
    happen JUST through these two lfuns:

      string * AddClassAdj (string|string * id)
        Adds <id> to P_CLASS_ADS and returns the new value of P_CLASS_ADS.
        <id> may an array of strings as well.

      string * RemoveClassAdj (string|string * id)
        Removes <id> to P_CLASS_ADS and returns the new value of P_CLASS_ADS.
        <id> may an array of strings as well.

    However, in general it is not necessary to modify the P_CLASS_ADS as
    the inherited /std-thing takes care of it.

    Note: any change to an object's current class adjectives sets the value
    of the P_CLASS_PATTERN property back to 0.

EXAMPLE
    AddClassAdj(CA_BURNABLE);
      -- Adds class adjective "burnable" to the object.

AVAILABILITY
    Include: <properties.h>
             <classes.h> : defined class ids and adjectives.

    Availability: /std/thing(/description) and descendants.

SEE ALSO
    thing(S), ads(P), classads(P), classpattern(P)