## dods.dap.Server
Class SDUInt32

    java.lang.Object
      dods.dap.BaseType
          dods.dap.DInt32
              dods.dap.DUInt32
                  dods.dap.Server.SDUInt32

All Implemented Interfaces:
  ClientIO, Cloneable, ExprParserConstants, RelOps, ServerMethods

public abstract class SDUInt32
extends DUInt32
implements ServerMethods, RelOps, ExprParserConstants

Holds a DODS Server `Unsigned Int32` value.

See Also:
  `BaseType`

Field Summary

Fields inherited from interface dods.dap.parser.ExprParserConstants
`AMPERSAND, ASTERISK, COLON, COMMA, DEFAULT, EOF, EQUAL, EXPONENT, FLOAT, GREATER, GREATER_EQL, ID, INT, LBRACE, LBRACKET, LESS, LESS_EQL, LPAREN, MANTISSA, NOT_EQUAL, QUOTED_STR, RBRACE, RBRACKET, REGEXP, RPAREN, SEPARATOR, STR, tokenImage, UNQUOTED_STR, UNTERM_QUOTE`

Constructor Summary
`SDUInt32()` Constructs a new `SDUInt32`.
`SDUInt32(String n)` Constructs a new `SDUInt32` with name `n`.

Method Summary
`boolean` `equal(BaseType bt)` The RelOps interface defines how each type responds to relational operators.
`boolean` `greater_eql(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`boolean` `greater(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`boolean` `isProject()` Is the given variable marked as projected? If the variable is listed in the projection part of a constraint expression, then the CE parser should mark it as projected.
`boolean` `isRead()` Get the value of the Read property.
`boolean` `isSynthesized()` Get the value of the Synthesized property.
`boolean` `less_eql(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`boolean` `less(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`boolean` `not_equal(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`void` `printDecl(PrintWriter os, String space, boolean print_semi, boolean constrained)` Write the variable's declaration in a C-style syntax.
`void` `printVal(PrintWriter os, String space, boolean print_decl_p)` Prints the value of the variable, with its declaration.
`abstract boolean` `read(String datasetName, Object specialO)` Read a value from the named dataset for this variable.
`boolean` `regexp(BaseType bt)` The `Operator` class contains a generalized implementation of this method.
`void` `serialize(String dataset, DataOutputStream sink, CEEvaluator ce, Object specialO)` Server-side serialization for DODS variables (sub-classes of `BaseType`).
`void` `setProject(boolean state)` Set the state of this variable's projection.
`void` `setProject(boolean state, boolean all)` Set the state of this variable's projection.
`void` `setRead(boolean state)` Set the Read property.
`void` `setSynthesized(boolean state)` Set the Synthesized property.

Methods inherited from class dods.dap.DUInt32
`getTypeName, newPrimitiveVector`

Methods inherited from class dods.dap.DInt32
`deserialize, externalize, getValue, setValue`

Methods inherited from class dods.dap.BaseType
`checkSemantics, checkSemantics, clone, elementCount, elementCount, getLongName, getName, getParent, printDecl, printDecl, printDecl, printDecl, printDecl, printDecl, printDecl, printVal, printVal, printVal, setName, setParent`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SDUInt32

    public SDUInt32()

  Constructs a new `SDUInt32`.

### SDUInt32

    public SDUInt32(String n)

  Constructs a new `SDUInt32` with name `n`.

Parameters:
  `n` - the name of the variable.

Method Detail

### printDecl

    public void printDecl(PrintWriter os,
                          String space,
                          boolean print_semi,
                          boolean constrained)

  Write the variable's declaration in a C-style syntax. This function is used to create textual representation of the Data Descriptor Structure (DDS). See The DODS User Manual for information about this structure.

  Overrides:
    `printDecl` in class `BaseType`
  Parameters:
    `os` - The `PrintWriter` on which to print the declaration.
    `space` - Each line of the declaration will begin with the characters in this string. Usually used for leading spaces.
    `print_semi` - a boolean value indicating whether to print a semicolon at the end of the declaration.
    `constrained` - a boolean value indicating whether to print the declartion dependent on the projection information. This is only used by Server side code.
  See Also:
    `DDS`

### printVal

    public void printVal(PrintWriter os,
                         String space,
                         boolean print_decl_p)

  Prints the value of the variable, with its declaration. This function is primarily intended for debugging DODS applications and text-based clients such as geturl.

  ## Important Note

  This method overrides the BaseType method of the same name and type signature and it significantly changes the behavior for all versions of `printVal()` for this type: All the various versions of printVal() will only print a value, or a value with declaration, if the variable is in the projection.
  In other words, if a call to `isProject()` for a particular variable returns `true` then `printVal()` will print a value (or a declaration and a value).
  If `isProject()` for a particular variable returns `false` then `printVal()` is basically a No-Op.

  Overrides:
    `printVal` in class `DUInt32`
  Parameters:
    `os` - the `PrintWriter` on which to print the value.
    `space` - this value is passed to the `printDecl` method, and controls the leading spaces of the output.
    `print_decl_p` - a boolean value controlling whether the variable declaration is printed as well as the value.
  See Also:
    `BaseType.printVal(PrintWriter, String, boolean)`, `ServerMethods.isProject()`

### setProject

    public void setProject(boolean state,
                           boolean all)

  Set the state of this variable's projection. `true` means that this variable is part of the current projection as defined by the current constraint expression, otherwise the current projection for this variable should be `false`.

  Specified by:
    `setProject` in interface `ServerMethods`
  Parameters:
    `state` - `true` if the variable is part of the current projection, `false` otherwise.
    `all` - This parameter has no effect for this type of variable.
  See Also:
    `CEEvaluator`

### setProject

    public void setProject(boolean state)

  Set the state of this variable's projection. `true` means that this variable is part of the current projection as defined by the current constraint expression, otherwise the current projection for this variable should be `false`.

  Specified by:
    `setProject` in interface `ServerMethods`
  Parameters:
    `state` - `true` if the variable is part of the current projection, `false` otherwise.
  See Also:
    `CEEvaluator`

### isProject

    public boolean isProject()

  Is the given variable marked as projected? If the variable is listed in the projection part of a constraint expression, then the CE parser should mark it as projected. When this method is called on such a variable it should return `true`, otherwise it should return `false`.

  Specified by:
    `isProject` in interface `ServerMethods`
  Returns:
    `true` if the variable is part of the current projections, `false` otherwise.
  See Also:
    `CEEvaluator`, `setProject(boolean)`

### equal

    public boolean equal(BaseType bt)
                  throws InvalidOperatorException,
                         RegExpException,
                         SBHException

  The RelOps interface defines how each type responds to relational operators. Most (all?) types will not have sensible responses to all of the relational operators (e.g. DBoolean won't know how to match a regular expression but DString will). For those operators that are nonsensical a class should throw InvalidOperatorException.

  Specified by:
    `equal` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### not_equal

    public boolean not_equal(BaseType bt)
                      throws InvalidOperatorException,
                             RegExpException,
                             SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `not_equal` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### greater

    public boolean greater(BaseType bt)
                    throws InvalidOperatorException,
                           RegExpException,
                           SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `greater` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### greater_eql

    public boolean greater_eql(BaseType bt)
                        throws InvalidOperatorException,
                               RegExpException,
                               SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `greater_eql` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### less

    public boolean less(BaseType bt)
                 throws InvalidOperatorException,
                        RegExpException,
                        SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `less` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### less_eql

    public boolean less_eql(BaseType bt)
                     throws InvalidOperatorException,
                            RegExpException,
                            SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `less_eql` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### regexp

    public boolean regexp(BaseType bt)
                   throws InvalidOperatorException,
                          RegExpException,
                          SBHException

  Description copied from interface: `ServerMethods`
  The `Operator` class contains a generalized implementation of this method. It should be used unless a localized architecture/implementation requires otherwise.

  Specified by:
    `regexp` in interface `ServerMethods`
  Throws:
    `InvalidOperatorException`
    `RegExpException`
    `SBHException`
  See Also:
    `Operator`

### setSynthesized

    public void setSynthesized(boolean state)

  Set the Synthesized property.

  Specified by:
    `setSynthesized` in interface `ServerMethods`
  Parameters:
    `state` - If `true` then the variable is considered a synthetic variable and no part of DODS will ever try to read it from a file, otherwise if `false` the variable is considered a normal variable whose value should be read using the `read()` method. By default this property is false.
  See Also:
    `isSynthesized()`, `read(String, Object)`

### isSynthesized

    public boolean isSynthesized()

  Get the value of the Synthesized property.

  Specified by:
    `isSynthesized` in interface `ServerMethods`
  Returns:
    `true` if this is a synthetic variable, `false` otherwise.

### setRead

    public void setRead(boolean state)

  Set the Read property. A normal variable is read using the `read()` method. Once read the Read property is `true`. Use this function to manually set the property value. By default this property is false.

  Specified by:
    `setRead` in interface `ServerMethods`
  Parameters:
    `state` - `true` if the variable has been read, `false` otherwise.
  See Also:
    `isRead()`, `read(String, Object)`

### isRead

    public boolean isRead()

  Get the value of the Read property.

  Specified by:
    `isRead` in interface `ServerMethods`
  Returns:
    `true` if the variable has been read, `false` otherwise.
  See Also:
    `read(String, Object)`, `setRead(boolean)`

### read

    public abstract boolean read(String datasetName,
                                 Object specialO)
                          throws NoSuchVariableException,
                                 IOException,
                                 EOFException

  Read a value from the named dataset for this variable.

  Specified by:
    `read` in interface `ServerMethods`
  Parameters:
    `datasetName` - String identifying the file or other data store from which to read a vaue for this variable.
    `specialO` - This `Object` is a goody that is used by Server implementations to deliver important, and as yet unknown, stuff to the read method. If you don't need it, make it a `null`.
  Returns:
    `true` if more data remains to be read, otherwise `false`. This is an abtsract method that must be implemented as part of the installation/localization of a DODS server.
  Throws:
    `IOException`
    `EOFException`
    `NoSuchVariableException`

### serialize

    public void serialize(String dataset,
                          DataOutputStream sink,
                          CEEvaluator ce,
                          Object specialO)
                   throws NoSuchVariableException,
                          SDODSException,
                          IOException

  Server-side serialization for DODS variables (sub-classes of `BaseType`). This does not send the entire class as the Java `Serializable` interface does, rather it sends only the binary data values. Other software is responsible for sending variable type information (see `DDS`). Writes data to a `DataOutputStream`. This method is used on the server side of the DODS client/server connection, and possibly by GUI clients which need to download DODS data, manipulate it, and then re-save it as a binary file.

  Specified by:
    `serialize` in interface `ServerMethods`
  Parameters:
    `sink` - a `DataOutputStream` to write to.
    `dataset` - a `String` indicated which dataset to read from (Or something else if you so desire).
    `ce` - the `CEEvaluator` to use in the parse process.
  Throws:
    `IOException` - thrown on any `OutputStream` exception.
    `NoSuchVariableException`
    `SDODSException`
  See Also:
    `BaseType`, `DDS`, `ServerDDS`