/** * create the list * * @param timeDim the time dimension * @param goalDim the goal dimension * @param criterion the goal criterion * @param goalTransform the goal transformation */ _List( final IDimension timeDim, final IDimension goalDim, final EComparison criterion, final TransformationFunction goalTransform) { super(); this.m_timeIndex = timeDim.getIndex(); this.m_goalIndex = goalDim.getIndex(); this.m_timeDim = timeDim; this.m_isTimeIncreasing = timeDim.getDirection().isIncreasing(); setTransform: { if (goalTransform.isIdentityTransformation()) { setNoTransform: { switcher: switch (criterion) { case LESS_OR_EQUAL: { if (goalDim.getDirection().isIncreasing()) { break setNoTransform; } break switcher; } case GREATER_OR_EQUAL: { if (goalDim.getDirection().isIncreasing()) { break switcher; } break setNoTransform; } default: { break setNoTransform; } } this.m_useGoalTransformAndCriterion = false; this.m_goalTransform = null; this.m_criterion = null; break setTransform; } } this.m_useGoalTransformAndCriterion = true; this.m_goalTransform = goalTransform; this.m_criterion = criterion; } }