blob: e00e76add0902134691825319abef8301d3c7dbe [file] [log] [blame]
<#--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
Support Of FreeMarker Directives
==============================================================================
dataSources?has_content: ${dataSources?has_content?c}
dataSources?size: ${dataSources?size}
Iterate Over DataSources Using Array-style Access
==============================================================================
<#if dataSources?has_content>
<#list 0..<dataSources?size as i>
- dataSource[${i}] ==> ${dataSources[i].name}
</#list>
<#else>
No data sources provided ...
</#if>
Iterate Over DataSources Using Sequence
==============================================================================
<#list dataSources as dataSource>
- dataSource[${dataSource?index}] => ${dataSource.name}
<#else>
No data sources provided ...
</#list>
Iterate Over DataSources Using Key & Values
==============================================================================
<#list dataSources as name, dataSource>
- dataSource["${name}"] => ${dataSource.name}<#lt>
<#else>
No data sources provided ...
</#list>
Iterate Over DataSources Using Values
==============================================================================
<#list dataSources?values as dataSource>
- dataSource[${dataSource?index}] => ${dataSource.name}
<#else>
No data sources provided ...
</#list>
Iterate Over DataSources Using Hash Map Keys
==============================================================================
<#list dataSources?keys as key>
- dataSource["${key}"] => ${dataSources[key].name}
<#else>
No data sources provided ...
</#list>
Iterate Over DataSources Using Local Lambda Expression
==============================================================================
<#list dataSources?filter(ds -> ds.match("group", "default")) as dataSource>
- Group "default" => ${dataSource.name}
<#else>
No data sources provided ...
</#list>
Iterate Over DataSources Using Wildcard Search
==============================================================================
<#list dataSources?api.findByName("*") as dataSource>
- ${dataSource.name}
<#else>
No data sources provided ...
</#list>
Access Underlying DataSources API
==============================================================================
DataSources.getNames(): ${dataSources?api.names?size}
DataSources.getGroups(): ${dataSources?api.getGroups()?size}
DataSources.find("name", "*"): ${dataSources?api.find("name", "*")?size}
DataSources.find("name", "!readme"): ${dataSources?api.find("name", "!readme")?size}
DataSources.find("uri", "*.md"): ${dataSources?api.find("uri", "*.md")?size}
DataSources.find("extension", "md"): ${dataSources?api.find("extension", "md")?size}
<#if dataSources?has_content>
<#list dataSources as dataSource>
[#${dataSource?counter}] - ${dataSource.name}
==============================================================================
Invoke Arbitrary Methods On DataSource
---------------------------------------------------------------------------
<#assign dataSource=dataSources?first>
Name : ${dataSource.name}
Nr of lines : ${dataSource.lines?size}
Content Type : ${dataSource.contentType}
Charset : ${dataSource.charset}
Extension : ${dataSource.extension}
Nr of chars : ${dataSource.text?length}
Nr of bytes : ${dataSource.bytes?size}
Iterating Over Metadata Of A Datasource
---------------------------------------------------------------------------
<#list dataSource.metadata as name, value>
${name?right_pad(19)} : ${value}
</#list>
</#list>
</#if>