com.lowagie.text.pdf

## Class PdfLayerMembership

- java.lang.Object
- - com.lowagie.text.pdf.PdfObject
  - - com.lowagie.text.pdf.PdfDictionary
    - - com.lowagie.text.pdf.PdfLayerMembership

- All Implemented Interfaces:
    PdfOCG

      public class PdfLayerMembership
      extends PdfDictionary
      implements PdfOCG

  Content typically belongs to a single optional content group, and is visible when the group is ON and invisible when it is OFF. To express more complex visibility policies, content should not declare itself to belong to an optional content group directly, but rather to an optional content membership dictionary represented by this class.
  Author:
    Paulo Soares (psoares@consiste.pt)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static PdfName` | `ALLOFF` Visible only if all of the entries are OFF.
    `static PdfName` | `ALLON` Visible only if all of the entries are ON.
    `static PdfName` | `ANYOFF` Visible if any of the entries are OFF.
    `static PdfName` | `ANYON` Visible if any of the entries are ON.
    `(package private) java.util.HashSet` | `layers`
    `(package private) PdfArray` | `members`
    `(package private) PdfIndirectReference` | `ref`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfDictionary

      `CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfObject

      `ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PdfLayerMembership(PdfWriter writer)` Creates a new, empty, membership layer.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMember(PdfLayer layer)` Adds a new member to the layer.
    `java.util.Collection` | `getLayers()` Gets the member layers.
    `PdfObject` | `getPdfObject()` Gets the dictionary representing the membership layer.
    `PdfIndirectReference` | `getRef()` Gets the `PdfIndirectReference` that represents this membership layer.
    `void` | `setVisibilityPolicy(PdfName type)` Sets the visibility policy for content belonging to this membership dictionary.

    - ### Methods inherited from class com.lowagie.text.pdf.PdfDictionary

      `contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size, toPdf, toString`

    - ### Methods inherited from class com.lowagie.text.pdf.PdfObject

      `canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ALLON

          public static final PdfName ALLON

      Visible only if all of the entries are ON.

    - #### ANYON

          public static final PdfName ANYON

      Visible if any of the entries are ON.

    - #### ANYOFF

          public static final PdfName ANYOFF

      Visible if any of the entries are OFF.

    - #### ALLOFF

          public static final PdfName ALLOFF

      Visible only if all of the entries are OFF.

    - #### ref

          PdfIndirectReference ref

    - #### members

          PdfArray members

    - #### layers

          java.util.HashSet layers

  - ### Constructor Detail

    - #### PdfLayerMembership

          public PdfLayerMembership(PdfWriter writer)

      Creates a new, empty, membership layer.
      Parameters:
        `writer` - the writer

  - ### Method Detail

    - #### getRef

          public PdfIndirectReference getRef()

      Gets the `PdfIndirectReference` that represents this membership layer.
      Specified by:
        `getRef` in interface `PdfOCG`
      Returns:
        the `PdfIndirectReference` that represents this layer

    - #### addMember

          public void addMember(PdfLayer layer)

      Adds a new member to the layer.
      Parameters:
        `layer` - the new member to the layer

    - #### getLayers

          public java.util.Collection getLayers()

      Gets the member layers.
      Returns:
        the member layers

    - #### setVisibilityPolicy

          public void setVisibilityPolicy(PdfName type)

      Sets the visibility policy for content belonging to this membership dictionary. Possible values are ALLON, ANYON, ANYOFF and ALLOFF. The default value is ANYON.
      Parameters:
        `type` - the visibility policy

    - #### getPdfObject

          public PdfObject getPdfObject()

      Gets the dictionary representing the membership layer. It just returns `this`.
      Specified by:
        `getPdfObject` in interface `PdfOCG`
      Returns:
        the dictionary representing the layer