<?xml version="1.0" encoding="UTF-8"?>
<!-- ******************************************************************* -->
<!--                                                                     -->
<!-- © Copyright IBM Corp. 2010, 2011                                    -->
<!--                                                                     -->
<!-- Licensed 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.                      -->
<!--                                                                     -->
<!-- ******************************************************************* -->
<faces-config>

  <faces-config-extension>
    <namespace-uri>http://www.ibm.com/xsp/coreex</namespace-uri>
    <default-prefix>xe</default-prefix>
  </faces-config-extension>
	
	<!-- Login/logout tree node -->
	<complex-type>
    	<description>Node that displays the login or logout link</description>
    	<display-name>Login or Logout Node</display-name>
    	<complex-id>com.ibm.xsp.extlib.tree.complex.LoginTreeNode</complex-id>
    	<complex-class>com.ibm.xsp.extlib.tree.complex.LoginTreeNode</complex-class>
    	
  		<property>
			<description>Indicates whether the link should be visible in the HTML page. This generally defaults to true, meaning that the link is present. There are exceptions to this behavior, for example, the link is never shown when running in the Notes client. Also the logout link will only be displayed if the authentication protocol has support for a logout behavior.</description>
			<display-name>Rendered</display-name>
			<property-name>rendered</property-name>
			<property-class>boolean</property-class>
			<property-extension>
				<!--  this overrides the property with the same name in the superclass,
				to provide an updated description, as the default behavior is different. -->
				<!-- Note, the property was added to this subclass definition on 8.5.32001,
				but it was always present in the superclass definition so it does
				not need a since version. -->
				<designer-extension>
				<!-- runtime-default-false prevents a fail in BooleanPropertyDefaultTest
				but actually, the value will not always default to false,
				it depends on the state of the runtime environment.
				Boolean properties with a default value other than false 
				may only be set in a theme file in release 8.5.3 or later 
				using the baseValue attribute. Even then, the theme property
				value will not be set/executed when running in the Notes client
				or when logged in and using an authentication protocol that doesn't support logout.
				It happens that in the junit test environment, it is considered
				as logged in without ability to logout, so that is rendered(false).
				-->
					<tags>
						runtime-default-false
					</tags>
				</designer-extension>
			</property-extension>
		</property>

    	<complex-extension>
    		<base-complex-id>com.ibm.xsp.extlib.tree.complex.BasicComplexTreeNode</base-complex-id>
      		<tag-name>loginTreeNode</tag-name>
    	</complex-extension>
  	</complex-type>

	<!-- View/Folder list tree node -->
	<complex-type>
    	<description>Node that displays the list of views or folders contained in a database</description>
    	<display-name>View or Folder List</display-name>
    	<complex-id>com.ibm.xsp.extlib.tree.complex.ViewListTreeNode</complex-id>
    	<complex-class>com.ibm.xsp.extlib.tree.complex.ViewListTreeNode</complex-class>
        <group-type-ref>com.ibm.xsp.extlib.group.databaseNameProp</group-type-ref>

  		<property>
			<description>Regular expression used to filter the view or folder names to be displayed</description>
			<display-name>Selection Regular Expression</display-name>
			<property-name>filter</property-name>
			<property-class>java.lang.String</property-class>
			<property-extension>
				<designer-extension>
					<editor>com.ibm.xsp.extlib.designer.tooling.editor.RegularExpressionEditor</editor>
				</designer-extension>
			</property-extension>
		</property>
    	<property>
    		<!-- # "view1", "view1.getName()", "submitValue" should not be translated -->
      		<description>Request scope variable name under which the view object will be made available. For example, if your variable is called "view1" then by using "view1.getName()" syntax you could retrieve a view name and use it for "submitValue".</description>
      		<display-name>Var</display-name>
      		<property-name>var</property-name>
      		<property-class>java.lang.String</property-class>
      		<property-extension>
	    		<allow-run-time-binding>false</allow-run-time-binding>
				<designer-extension>
					<editor>com.ibm.xsp.extlib.designer.tooling.editor.VarNameEditor</editor>
				</designer-extension>
      		</property-extension>
    	</property>
  		<property>
			<description>Flag that defines if the view objects should be processed. Default is true.</description>
			<display-name>Include Views</display-name>
			<property-name>views</property-name>
			<property-class>boolean</property-class>
			<property-extension>
				<designer-extension>
					<!-- This defaults to true at runtime, so it will only
					be possible to set the value in a theme file
					in release 8.5.3 or later using the baseValue attribute.
					runtime-default-true prevents a fail in BooleanPropertyDefaultTest -->
					<tags>
						runtime-default-true
					</tags>
				</designer-extension>
			</property-extension>
		</property>
  		<property>
			<description>Flag that defines if the folder objects should be processed.Default is true.</description>
			<display-name>Include Folders</display-name>
			<property-name>folders</property-name>
			<property-class>boolean</property-class>
			<property-extension>
				<designer-extension>
					<!-- This defaults to true at runtime, so it will only
					be possible to set the value in a theme file
					in release 8.5.3 or later using the baseValue attribute.
					runtime-default-true prevents a fail in BooleanPropertyDefaultTest -->
					<tags>
						runtime-default-true
					</tags>
				</designer-extension>
			</property-extension>
		</property>

    	<complex-extension>
    		<base-complex-id>com.ibm.xsp.extlib.tree.complex.ComplexLeafTreeNode</base-complex-id>
      		<tag-name>dominoViewListTreeNode</tag-name>
    	</complex-extension>
  	</complex-type>

	<!-- View/Folder content tree node -->
	<complex-type>
    	<description>Tree node that displays the content of a view or folder entries</description>
    	<display-name>View or Folder Entries</display-name>
    	<complex-id>com.ibm.xsp.extlib.tree.complex.ViewEntryTreeNode</complex-id>
    	<complex-class>com.ibm.xsp.extlib.tree.complex.ViewEntryTreeNode</complex-class>
        <group-type-ref>com.ibm.xsp.extlib.group.databaseNameProp</group-type-ref>
        <group-type-ref>com.ibm.xsp.extlib.group.viewNameProp</group-type-ref>

    	<property>
      		<description>Request scope variable name under which the view entry object will be made available</description>
      		<display-name>Var</display-name>
      		<property-name>var</property-name>
      		<property-class>java.lang.String</property-class>
      		<property-extension>
	    		<allow-run-time-binding>false</allow-run-time-binding>
				<designer-extension>
					<editor>com.ibm.xsp.extlib.designer.tooling.editor.VarNameEditor</editor>
				</designer-extension>
      		</property-extension>
    	</property>
  		<property>
			<description>Name of the view column to display as the node label</description>
			<display-name>Label Column</display-name>
			<property-name>labelColumn</property-name>
			<property-class>java.lang.String</property-class>
			<property-extension>
				<designer-extension>
                    <!-- not localizable because it is a column name, not displayed text.-->
                    <tags>
                        not-localizable
                    </tags>
				</designer-extension>
			</property-extension>
		</property>
    	<property>
    	    <!-- # getAllDocumentsByKey is a technical term and should not be translated-->
      		<description>A key is used to filter the contents of a view based on the column values. You create a key (or vector of keys if called from JavaScript), where a key corresponds to a value in a sorted column. Results are consistent with getAllDocumentsByKey method in Domino Java API classes.</description>
      		<display-name>Filter Keys</display-name>
      		<property-name>keys</property-name>
      		<property-class>java.lang.Object</property-class>
    	</property>
    	<property>
      		<description>Determines whether or not exact matching will be used when the filter key is applied to the view. Default is partial match, which returns all entries that match the initial characters of the key.</description>
      		<display-name>Filter Using Exact Match</display-name>
      		<property-name>keysExactMatch</property-name>
      		<property-class>boolean</property-class>
    	</property>

    	<complex-extension>
    		<base-complex-id>com.ibm.xsp.extlib.tree.complex.ComplexLeafTreeNode</base-complex-id>
      		<tag-name>dominoViewEntriesTreeNode</tag-name>
    	</complex-extension>
  	</complex-type>

</faces-config>
