Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure Class Reference

List of all members.

Public Member Functions

 DatabaseProcedure (String name, String remarks, int procedureType)
void addParameter (DatabaseProcedureParameter param)
String getName ()
void setName (String name)
ArrayList getParameters ()
void setParameters (ArrayList parameters)
int getProcedureType ()
void setProcedureType (int procedureType)
String getRemarks ()
void setRemarks (String remarks)
void mergeParameters (DatabaseProcedure procedure) throws SQLException
boolean equals (Object other)
String getXml ()

Static Public Member Functions

int getTypeFromString (String type)
String getTypeFromInt (int type)

Static Public Attributes

final int ProcedureResultUnknown = 0
final int ProcedureNoResult = 1
final int ProcedureReturnsResult = 2

Package Attributes

ArrayList parameters

Detailed Description

Represents a procedure

Author:
Nicolas Modrzyk

Definition at line 38 of file DatabaseProcedure.java.


Constructor & Destructor Documentation

org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.DatabaseProcedure String  name,
String  remarks,
int  procedureType
 

Parameters:
name of the procedure
remarks of the procedure
procedureType see above types

Definition at line 93 of file DatabaseProcedure.java.

00094   {
00095     this.name = name;
00096     this.remarks = remarks;
00097     this.procedureType = procedureType;
00098     this.parameters = new ArrayList();
00099   }


Member Function Documentation

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.addParameter DatabaseProcedureParameter  param  ) 
 

Add a parameter to this procedure

Parameters:
param to add

Definition at line 106 of file DatabaseProcedure.java.

00107   {
00108     parameters.add(param);
00109   }

boolean org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.equals Object  other  ) 
 

Two DatabaseProcedure are considered equal if they have the same name and the same parameters.

Parameters:
other the object to compare with
Returns:
true if the DatabaseProcedures are equal

Definition at line 211 of file DatabaseProcedure.java.

References org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getName(), and org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getParameters().

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.equals(), org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.isCompatibleSubset(), and org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.isCompatibleWith().

00212   {
00213     if ((other == null) || !(other instanceof DatabaseProcedure))
00214       return false;
00215 
00216     DatabaseProcedure p = (DatabaseProcedure) other;
00217     return (p.getName().equals(name)) && (p.getParameters().equals(parameters));
00218   }

String org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getName  ) 
 

Returns:
Returns the name.

Definition at line 114 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.equals(), org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.getProcedure(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getProcedureColumns(), org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getProcedures(), org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.hasProcedure(), org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.isCompatibleSubset(), org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.isCompatibleWith(), org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.mergeParameters(), and org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.mergeSchema().

00115   {
00116     return name;
00117   }

ArrayList org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getParameters  ) 
 

Returns:
Returns the parameters.

Definition at line 130 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.equals(), and org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getProcedureColumns().

00131   {
00132     return parameters;
00133   }

int org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getProcedureType  ) 
 

Returns:
Returns the procedureType.

Definition at line 146 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getProcedures().

00147   {
00148     return procedureType;
00149   }

String org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getRemarks  ) 
 

Returns:
Returns the remarks.

Definition at line 162 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getProcedures().

00163   {
00164     return remarks;
00165   }

String org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getTypeFromInt int  type  )  [static]
 

Convert type from integer to string

Parameters:
type as an int
Returns:
string value conforms to xml tags.

Definition at line 75 of file DatabaseProcedure.java.

References org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.ProcedureNoResult, and org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.ProcedureReturnsResult.

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getXml().

00076   {
00077     switch (type)
00078     {
00079       case ProcedureNoResult :
00080         return DatabasesXmlTags.VAL_noResult;
00081       case ProcedureReturnsResult :
00082         return DatabasesXmlTags.VAL_returnsResult;
00083       default :
00084         return DatabasesXmlTags.VAL_resultUnknown;
00085     }
00086   }

int org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getTypeFromString String  type  )  [static]
 

Convert type from string to integer

Parameters:
type as a string
Returns:
ProcedureNoResult or ProcedureReturnsResult or ProcedureResultUnknown if not found

Definition at line 59 of file DatabaseProcedure.java.

00060   {
00061     if (type.equals(DatabasesXmlTags.VAL_noResult))
00062       return ProcedureNoResult;
00063     if (type.equals(DatabasesXmlTags.VAL_returnsResult))
00064       return ProcedureReturnsResult;
00065     else
00066       return ProcedureResultUnknown;
00067   }

String org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getXml  ) 
 

Get xml information about this procedure.

Returns:
xml formatted information on this database procedure.

Definition at line 225 of file DatabaseProcedure.java.

References org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getTypeFromInt().

00226   {
00227     StringBuffer info = new StringBuffer();
00228     info.append("<" + DatabasesXmlTags.ELT_DatabaseProcedure + " "
00229         + DatabasesXmlTags.ATT_name + "=\"" + name + "\" "
00230         + DatabasesXmlTags.ATT_returnType + "=\""
00231         + getTypeFromInt(procedureType) + "\">");
00232     for (int i = 0; i < parameters.size(); i++)
00233       info.append(((DatabaseProcedureParameter) parameters.get(i)).getXml());
00234     info.append("</" + DatabasesXmlTags.ELT_DatabaseProcedure + ">");
00235     return info.toString();
00236   }

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.mergeParameters DatabaseProcedure  procedure  )  throws SQLException
 

Merges this procedure parameters with the given procedure's parameters. An exception is thrown if the given procedure parameters conflict with this one. If any parameter is different the exception is thrown.

Parameters:
procedure the procedure to merge
Exceptions:
SQLException if the schemas conflict

Definition at line 183 of file DatabaseProcedure.java.

References org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getName().

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseSchema.mergeSchema().

00184   {
00185     if (procedure == null)
00186       return;
00187 
00188     ArrayList otherParameters = procedure.getParameters();
00189     if (otherParameters == null && parameters == null)
00190       return;
00191 
00192     if (this.equals(procedure))
00193     {
00194       // Procedures are the same, no conflict
00195       return;
00196     }
00197     else
00198     {
00199       throw new SQLException("Unable to merge procedure " + getName()
00200           + ": parameters are differents ");
00201     }
00202   }

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.setName String  name  ) 
 

Parameters:
name The name to set.

Definition at line 122 of file DatabaseProcedure.java.

00123   {
00124     this.name = name;
00125   }

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.setParameters ArrayList  parameters  ) 
 

Parameters:
parameters The parameters to set.

Definition at line 138 of file DatabaseProcedure.java.

00139   {
00140     this.parameters = parameters;
00141   }

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.setProcedureType int  procedureType  ) 
 

Parameters:
procedureType The procedureType to set.

Definition at line 154 of file DatabaseProcedure.java.

00155   {
00156     this.procedureType = procedureType;
00157   }

void org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.setRemarks String  remarks  ) 
 

Parameters:
remarks The remarks to set.

Definition at line 170 of file DatabaseProcedure.java.

00171   {
00172     this.remarks = remarks;
00173   }


Member Data Documentation

final int org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.ProcedureNoResult = 1 [static]
 

Does not return a result

Definition at line 43 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getTypeFromInt().

final int org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.ProcedureResultUnknown = 0 [static]
 

May return a result

Definition at line 41 of file DatabaseProcedure.java.

final int org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.ProcedureReturnsResult = 2 [static]
 

Returns a result

Definition at line 45 of file DatabaseProcedure.java.

Referenced by org.objectweb.cjdbc.common.sql.schema.DatabaseProcedure.getTypeFromInt().


The documentation for this class was generated from the following file:
Generated on Mon Apr 11 22:02:13 2005 for C-JDBC by  doxygen 1.3.9.1