<?xml version="1.0" encoding="UTF-8"?>

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="../../main/config/ehcache.xsd">

    <defaultCache maxElementsInMemory="10" eternal="false"
                  timeToIdleSeconds="5" timeToLiveSeconds="10" overflowToDisk="true"/>

    <cache name="cache1" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
        <searchable>
            <searchAttribute name="age" expression="value.getAge()"/>
            <searchAttribute name="gender" expression="value.getGender()"/>
            <searchAttribute name="name" expression="value.getName()"/>
            <searchAttribute name="dept" expression="value.getDepartment()"/>

        </searchable>

        <!-- EHC-800 should be able to use JavaBeans conventions <searchAttribute name="name"/>-->
    </cache>

    <cache name="cache2" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
        <searchable>
            <searchAttribute name="age"
                             class="net.sf.ehcache.search.TestAttributeExtractor"/>
            <searchAttribute name="gender"
                             class="net.sf.ehcache.search.GenderAttributeExtractor"
                             properties="foo=1,bar=2"/>
            <searchAttribute name="name" expression="value.getName()"/>
        </searchable>
    </cache>


     <cache name="cache3" maxElementsInMemory="0" eternal="true" overflowToDisk="false"
            copyOnRead="true" copyOnWrite="true">
        <searchable>
            <searchAttribute name="age" expression="value.getAge()"/>
            <searchAttribute name="gender" expression="value.getGender()"/>
            <searchAttribute name="name" expression="value.getName()"/>
            <searchAttribute name="dept" expression="value.getDepartment()"/>
        </searchable>
    </cache>


    <cache name="not-searchable" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
       <!--  contains no searchable element! -->
    </cache>

    <cache name="default-searchable" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
       <searchable/>
    </cache>

    <!--<cache name="metadata-searchable" maxElementsInMemory="0" eternal="true" overflowToDisk="false">-->
       <!--<searchable metadata="true"/>-->
    <!--</cache>-->

    <cache name="searchable-no-keys-values" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
       <searchable keys="false" values="false"/>
    </cache>

    <cache name="bean-attributes" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
       <searchable>
         <searchAttribute name="age"/>
         <searchAttribute name="gender"/>
         <searchAttribute name="name"/>
       </searchable>

    </cache>

</ehcache>
