<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ~ 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.
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<!DOCTYPE html>
<html>
    <head>
        <title>HTL Use-API - Sling implementation</title>
    </head>
    <body data-sly-use.reqmodel="${'org.apache.sling.scripting.sightly.testing.models.RequestModel' @ argument='SUCCESS'}"
          data-sly-use.resmodel="org.apache.sling.scripting.sightly.testing.models.ResourceModel"
          data-sly-use.reqadapt="org.apache.sling.scripting.sightly.testing.adaptable.RequestAdapterUseObject"
          data-sly-use.resadapt="org.apache.sling.scripting.sightly.testing.adaptable.ResourceAdapterUseObject"
          data-sly-use.rradapt="${'org.apache.sling.scripting.sightly.testing.adaptable.ResourceResolverAdapterUseObject' @ adaptable = request.resourceResolver}"
          data-sly-use.osgi="org.apache.sling.scripting.sightly.testing.use.TestService"
          data-sly-use.repoNoPkg="RepoPojoNoPkg"
          data-sly-use.testEnumHolder="TestEnumHolder"
          data-sly-use.testEnum="org.apache.sling.scripting.sightly.testing.models.TestEnum">
        <div id="reqmodel">${reqmodel.title}</div>
        <div id="reqmodel-reqarg">${reqmodel.requestArgument}</div>
        <div id="reqmodel-bindings">${reqmodel.getJCRType}</div>
        <div id="resmodel">${resmodel.title}</div>
        <div id="reqadapt">${reqadapt.title}</div>
        <div id="resadapt">${resadapt.title}</div>
        <div id="osgi">${osgi.sayHello}</div>
        <div id="repopojo-nopkg">${repoNoPkg.FIELD}</div>
        <div id="test-enum">${testEnumHolder.constantValue}</div>
        <div id="test-enum-value">${testEnum.ENUM_CONSTANT}</div>
        <div id="test-enum-staticfield">${testEnum.STATIC_FIELD1}</div>
        <div id="test-enum-staticmethod">${testEnum.something}</div>
        <div id="test-enum-value2-${v.ordinal}" data-sly-repeat.v="${testEnum.values}">${v}</div>
        <div id="rradapt">${rradapt.title}</div>
    </body>
</html>
