/** * Indicates whether the value type of this attribute is date. */ public boolean isDateType() { return valueType.isDate(); }
/** * Returns a string useful for substitution. * * @param valueType the value type. * @return the string. */ public static String getSubstitutionValue( ValueType valueType ) { if ( valueType.isNumeric() || valueType.isBoolean() ) { return "1"; } else if ( valueType.isDate() ) { return "'2000-01-01'"; } else { return "'A'"; } }
/** * Indicates whether the given time field is valid, i.e. whether * it is either a fixed time field or matches the identifier of an * attribute or data element of date value type part of the query program. */ public boolean timeFieldIsValid() { if ( timeField == null ) { return true; } if ( TimeField.fieldIsValid( timeField ) ) { return true; } if ( program.getTrackedEntityAttributes().stream() .anyMatch( at -> at.getValueType().isDate() && timeField.equals( at.getUid() ) ) ) { return true; } if ( program.getDataElements().stream() .anyMatch( de -> de.getValueType().isDate() && timeField.equals( de.getUid() ) ) ) { return true; } return false; }
/** * Creates a mapping between data type and data element for the given data * elements. * * @param dataElements list of data elements. */ public static ListMap<DataType, DimensionalItemObject> getDataTypeDataElementMap( List<DimensionalItemObject> dataElements ) { ListMap<DataType, DimensionalItemObject> map = new ListMap<>(); for ( DimensionalItemObject element : dataElements ) { DataElement dataElement = (DataElement) element; ValueType valueType = dataElement.getValueType(); // Both text and date types are recognized as DataType.TEXT DataType dataType = ( valueType.isText() || valueType.isDate() ) ? DataType.TEXT : DataType.NUMERIC; map.putValue( dataType, dataElement ); } return map; }
else if ( valueType.isDate() )
else if ( valueType.isDate() )
String dataClause = dataElement.isNumericType() ? numericClause : dataElement.getValueType().isDate() ? dateClause : ""; String select = getSelectClause( dataElement.getValueType() ); boolean skipIndex = NO_INDEX_VAL_TYPES.contains( dataElement.getValueType() ) && !dataElement.hasOptionSet();