Search in sources :

Example 1 with Evaluable

use of ch.interlis.ili2c.metamodel.Evaluable in project ili2db by claeis.

the class FromIliRecordConverter method setNullable.

public void setNullable(Viewable aclass, AttributeDef attr, DbColumn dbCol) {
    if (sqlEnableNull) {
        dbCol.setNotNull(false);
    } else {
        Type type = attr.getDomain();
        if (type == null) {
            Evaluable[] ev = (((LocalAttribute) attr).getBasePaths());
            type = ((ObjectPath) ev[0]).getType();
        }
        if (type.isMandatoryConsideringAliases()) {
            // attr not defined in sub-class
            if (attr.getContainer() == aclass || aclass.isExtending(attr.getContainer())) {
                dbCol.setNotNull(true);
            }
        }
    }
}
Also used : Evaluable(ch.interlis.ili2c.metamodel.Evaluable) PolylineType(ch.interlis.ili2c.metamodel.PolylineType) Type(ch.interlis.ili2c.metamodel.Type) BasketType(ch.interlis.ili2c.metamodel.BasketType) ReferenceType(ch.interlis.ili2c.metamodel.ReferenceType) SurfaceOrAreaType(ch.interlis.ili2c.metamodel.SurfaceOrAreaType) SurfaceType(ch.interlis.ili2c.metamodel.SurfaceType) CompositionType(ch.interlis.ili2c.metamodel.CompositionType) TextType(ch.interlis.ili2c.metamodel.TextType) EnumerationType(ch.interlis.ili2c.metamodel.EnumerationType) NumericType(ch.interlis.ili2c.metamodel.NumericType) BlackboxType(ch.interlis.ili2c.metamodel.BlackboxType) AreaType(ch.interlis.ili2c.metamodel.AreaType) ObjectType(ch.interlis.ili2c.metamodel.ObjectType) CoordType(ch.interlis.ili2c.metamodel.CoordType)

Aggregations

AreaType (ch.interlis.ili2c.metamodel.AreaType)1 BasketType (ch.interlis.ili2c.metamodel.BasketType)1 BlackboxType (ch.interlis.ili2c.metamodel.BlackboxType)1 CompositionType (ch.interlis.ili2c.metamodel.CompositionType)1 CoordType (ch.interlis.ili2c.metamodel.CoordType)1 EnumerationType (ch.interlis.ili2c.metamodel.EnumerationType)1 Evaluable (ch.interlis.ili2c.metamodel.Evaluable)1 NumericType (ch.interlis.ili2c.metamodel.NumericType)1 ObjectType (ch.interlis.ili2c.metamodel.ObjectType)1 PolylineType (ch.interlis.ili2c.metamodel.PolylineType)1 ReferenceType (ch.interlis.ili2c.metamodel.ReferenceType)1 SurfaceOrAreaType (ch.interlis.ili2c.metamodel.SurfaceOrAreaType)1 SurfaceType (ch.interlis.ili2c.metamodel.SurfaceType)1 TextType (ch.interlis.ili2c.metamodel.TextType)1 Type (ch.interlis.ili2c.metamodel.Type)1