public Object get()

in velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LoopTool.java [409:452]


    public Object get(String key)
    {
        // search all iterators in reverse
        // (so nested ones take priority)
        // for one that is responsible for synced
        for (int i=iterators.size() - 1; i >= 0; i--)
        {
            ManagedIterator iterator = iterators.get(i);
            if (iterator.isSyncedWith(key))
            {
                return iterator.get(key);
            }
        }
        if (lastSyncedValues != null)
        {
            Object syncedValue = lastSyncedValues.get(key);
            if (syncedValue != null)
            {
                return syncedValue;
            }
        }
        // shortest key would be "last_X" where X is the loop name
        if (key == null || key.length() < 6)
        {
            return null;
        }
        if (key.startsWith("last_"))
        {
            return isLast(key.substring(5, key.length()));
        }
        if (key.startsWith("count_"))
        {
            return getCount(key.substring(6, key.length()));
        }
        if (key.startsWith("index_"))
        {
            return getIndex(key.substring(6, key.length()));
        }
        if (key.startsWith("first_"))
        {
            return isFirst(key.substring(6, key.length()));
        }
        return null;
    }