/** * 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 <em>The DODS User Manual</em> for * information about this structure. * * @param os The <code>PrintWriter</code> on which to print the declaration. * @param space Each line of the declaration will begin with the characters in this string. * Usually used for leading spaces. * @param print_semi a boolean value indicating whether to print a semicolon at the end of the * declaration. * @param constrained a boolean value indicating whether to print the declartion dependent on the * projection information. <b>This is only used by Server side code.</b> * @see DDS */ public void printDecl(PrintWriter os, String space, boolean print_semi, boolean constrained) { if (constrained && !Project) return; // BEWARE! Since printDecl()is (multiple) overloaded in BaseType // and all of the different signatures of printDecl() in BaseType // lead to one signature, we must be careful to override that // SAME signature here. That way all calls to printDecl() for // this object lead to this implementation. // Also, since printDecl()is (multiple) overloaded in BaseType // and all of the different signatures of printDecl() in BaseType // lead to the signature we are overriding here, we MUST call // the printDecl with the SAME signature THROUGH the super class // reference (assuming we want the super class functionality). If // we do otherwise, we will create an infinte call loop. OOPS! super.printDecl(os, space, print_semi, constrained); }