net.sf.farrago.catalog
Interface FemSqltypedElement


public interface FemSqltypedElement

This interface belongs in the UML model, but can't live there due to metamodel problems. That's the short story.

You want the unabridged version? CWM declares a number of important attributes on CwmColumn, but the same attributes are needed on other classes such as FemRoutineParameter, and they aren't present on the base class CwmSqlparameter. Validation code would like to be able to handle any kind of SQL-typed object uniformly, so a common interface is required. FemRoutineParameter can't inherit from CwmColumn (that kludgy approach leads to strange MDR multiple-inheritance anomalies). And MDR doesn't support generation of operations, so we can't declare a UML interface with abstract methods.

So, we define this interface outside the model and use proxies to implement it; see FarragoCatalogUtil.toFemSqltypedElement(net.sf.farrago.fem.sql2003.FemAbstractTypedElement). In the model, we define a placeholder interface FemAbstractTypedElement.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/catalog/FemSqltypedElement.java#9 $
Author:
John V. Sichi

Method Summary
 String getCharacterSetName()
           
 String getCollationName()
           
 Integer getLength()
           
 FemAbstractTypedElement getModelElement()
           
 Integer getPrecision()
           
 Integer getScale()
           
 CwmClassifier getType()
           
 void setCharacterSetName(String newValue)
           
 void setCollationName(String newValue)
           
 void setLength(Integer newValue)
           
 void setPrecision(Integer newValue)
           
 void setScale(Integer newValue)
           
 void setType(CwmClassifier newValue)
           
 

Method Detail

getPrecision

Integer getPrecision()
See Also:
CwmColumn.getPrecision()

setPrecision

void setPrecision(Integer newValue)
See Also:
CwmColumn.setPrecision(java.lang.Integer)

getScale

Integer getScale()
See Also:
CwmColumn.getScale()

setScale

void setScale(Integer newValue)
See Also:
CwmColumn.setScale(java.lang.Integer)

getLength

Integer getLength()
See Also:
CwmColumn.getLength()

setLength

void setLength(Integer newValue)
See Also:
CwmColumn.setLength(java.lang.Integer)

getCollationName

String getCollationName()
See Also:
CwmColumn.getCollationName()

setCollationName

void setCollationName(String newValue)
See Also:
CwmColumn.setCollationName(java.lang.String)

getCharacterSetName

String getCharacterSetName()
See Also:
CwmColumn.getCharacterSetName()

setCharacterSetName

void setCharacterSetName(String newValue)
See Also:
CwmColumn.setCharacterSetName(java.lang.String)

getType

CwmClassifier getType()
See Also:
CwmStructuralFeature.getType()

setType

void setType(CwmClassifier newValue)
See Also:
CwmStructuralFeature.setType(net.sf.farrago.cwm.core.CwmClassifier)

getModelElement

FemAbstractTypedElement getModelElement()
Returns:
unproxied object