## net.sf.saxon.s9api
Enum OccurrenceIndicator

    java.lang.Object
      java.lang.Enum<OccurrenceIndicator>
          net.sf.saxon.s9api.OccurrenceIndicator

All Implemented Interfaces:
  Serializable, Comparable<OccurrenceIndicator>

    public enum OccurrenceIndicator

extends Enum<OccurrenceIndicator>

Represents one of the possible occurrence indicators in a SequenceType. The four standard values are ONE (no occurrence indicator), ZERO_OR_ONE (?), ZERO_OR_MORE (*), ONE_OR_MORE (+). In addition the value ZERO is supported: this is used only in the type empty-sequence() which matches an empty sequence and nothing else.

Enum Constant Summary
`ONE`
`ONE_OR_MORE`
`ZERO`
`ZERO_OR_MORE`
`ZERO_OR_ONE`

Method Summary
`boolean` `allowsMany()` Ask whether this occurrence indicator permits a sequence containing more than one item.
`boolean` `allowsZero()` Ask whether this occurrence indicator permits an empty sequence.
`protected int` `getCardinality()`
`protected static OccurrenceIndicator` `getOccurrenceIndicator(int cardinality)`
`boolean` `subsumes(OccurrenceIndicator other)` Ask whether one occurrence indicator subsumes another.
`static OccurrenceIndicator` `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static OccurrenceIndicator[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

Methods inherited from class java.lang.Enum
`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Enum Constant Detail

### ZERO

    public static final OccurrenceIndicator ZERO

### ZERO_OR_ONE

    public static final OccurrenceIndicator ZERO_OR_ONE

### ZERO_OR_MORE

    public static final OccurrenceIndicator ZERO_OR_MORE

### ONE

    public static final OccurrenceIndicator ONE

### ONE_OR_MORE

    public static final OccurrenceIndicator ONE_OR_MORE

Method Detail

### values

    public static OccurrenceIndicator[] values()

  Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

      for (OccurrenceIndicator c : OccurrenceIndicator.values())
          System.out.println(c);

  Returns:
    an array containing the constants of this enum type, in the order they are declared

### valueOf

    public static OccurrenceIndicator valueOf(String name)

  Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

  Parameters:
    `name` - the name of the enum constant to be returned.
  Returns:
    the enum constant with the specified name
  Throws:
    `IllegalArgumentException` - if this enum type has no constant with the specified name
    `NullPointerException` - if the argument is null

### getCardinality

    protected int getCardinality()

### getOccurrenceIndicator

    protected static OccurrenceIndicator getOccurrenceIndicator(int cardinality)

### allowsZero

    public boolean allowsZero()

  Ask whether this occurrence indicator permits an empty sequence.

  Returns:
    true if the occurrence indicator is one of `ZERO`, `ZERO_OR_ONE`, or `ZERO_OR_MORE`
  Since:
    9.2

### allowsMany

    public boolean allowsMany()

  Ask whether this occurrence indicator permits a sequence containing more than one item.

  Returns:
    true if the occurrence indicator is one of `ZERO_OR_MORE` or `ONE_OR_MORE`
  Since:
    9.2

### subsumes

    public boolean subsumes(OccurrenceIndicator other)

  Ask whether one occurrence indicator subsumes another. Specifically, `A.subsumes(B)` is true if every sequence that satisfies the occurrence indicator B also satisfies the occurrence indicator A.

  Parameters:
    `other` - The other occurrence indicator
  Returns:
    true if this occurrence indicator subsumes the other occurrence indicator
  Since:
    9.1

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.