<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components 
        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
        "http://labs.jboss.com/jbossrichfaces/component-config.dtd"
[
	<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
]>

<components>
     	<component>
		<name>org.ajax4jsf.MediaOutput</name>
		<family>org.ajax4jsf.Resource</family>
		<classname>org.ajax4jsf.component.html.MediaOutput</classname>
		<superclass>
			org.ajax4jsf.component.UIMediaOutput
		</superclass>
		<test>
			<superclassname>
				org.ajax4jsf.component.MediaOutputComponentBaseTest
			</superclassname>
		</test>
		<description>
			<![CDATA[Class for create any link-type elements to user-generated resources :
		images, sounds, video, active objects, applets etc.
		Method specified in "CreateContent" attribute will put the data from Data Bean specified
		 in "value" attribute to the OutputStream. Important: Data Bean specified in "value" must implement Serializable.
		]]>
		</description>
		<renderer>
			<name>org.ajax4jsf.MediaOutputRenderer</name>
			<classname>
				org.ajax4jsf.renderkit.html.MediaOutputRenderer
			</classname>
		</renderer>
		<tag>
			<name>mediaOutput</name>
			<classname>
				org.ajax4jsf.taglib.html.jsp.MediaOutputTag
			</classname>
			<superclass>
				org.ajax4jsf.webapp.taglib.UIComponentTagBase
			</superclass>
			<test />
			<displayname>Link to user-generated resource</displayname>
			<icon>icon</icon>
		</tag>
		<taghandler generate="false">
			<classname>org.ajax4jsf.taglib.html.facelets.MediaOutputHandler</classname>
		</taghandler>
		&ui_component_attributes;
		&html_event_handler_attributes;
		&html_universal_attributes;
		&html_anchor_attributes;
		&html_img_attributes;
		<property>
			<name>usemap</name>
			<classname>java.lang.String</classname>
			<description>use client-side image map</description>
		</property>
		<property>
			<name>ismap</name>
			<classname>boolean</classname>
			<description>use server-side image map</description>
		</property>
		<property>
			<name>declare</name>
			<classname>java.lang.String</classname>
			<description>
				declare but don't instantiate flag
			</description>
		</property>
		<property>
			<name>classid</name>
			<classname>java.lang.String</classname>
			<description>identifies an implementation</description>
		</property>
		<property>
			<name>codebase</name>
			<classname>java.lang.String</classname>
			<description>
				base URI for classid, data, archive
			</description>
		</property>
		<property>
			<name>codetype</name>
			<classname>java.lang.String</classname>
			<description>content type for code</description>
		</property>
		<property>
			<name>archive</name>
			<classname>java.lang.String</classname>
			<description>space-separated list of URIs</description>
		</property>
		<property>
			<name>standby</name>
			<classname>java.lang.String</classname>
			<description>message to show while loading</description>
		</property>
		<property>
			<name>element</name>
			<classname>java.lang.String</classname>
			<description>
				<![CDATA[Name of html element for resource link - may be <a> <img> <object> <applet> <script> or <link> ]]>
			</description>
		</property>
		<property>
			<name>uriAttribute</name>
			<classname>java.lang.String</classname>
			<description>
				<![CDATA[Name of attribute for resource-link attribute ( 'href' for <a>, 'src' for <img> or <script>, etc) ]]>
			</description>
		</property>

		<property>
			<name>mimeType</name>
			<classname>java.lang.String</classname>
			<description>
				Geterated content mime-type for append to response
				header ( 'image/jpeg' etc )
			</description>
		</property>
		<property>
			<name>value</name>
			<description>
				<![CDATA[
                Data value calculated at render time and stored in  URI (also as part of cache Key ),
                at generation time passed to send method. Can be used for update cache at change of  generating
                conditions, and for creating  beans as "Lightweight" pattern components (request scope).
                IMPORTANT: Since serialized data stored in URI, avoid using big objects.
                ]]>
			</description>
		</property>
		<property elonly="true">
			<name>createContentExpression</name>
			<classname>javax.el.MethodExpression</classname>
			<description>
				<![CDATA[
        Method call expression to send generated resource to OutputStream. It must have two parameter with a type of java.io.OutputStream 
        and java.lang.Object ( deserialized value of data attribute )
          ]]>
			</description>
			<methodargs>
				java.io.OutputStream,java.lang.Object
			</methodargs>
		</property>
		<property elonly="true">
			<name>createContent</name>
			<classname>javax.faces.el.MethodBinding</classname>
			<description>
				<![CDATA[
        Method call expression to send generated resource to OutputStream. It must have two parameter with a type of java.io.OutputStream 
        and java.lang.Object ( deserialized value of data attribute )
          ]]>
			</description>
			<methodargs>
				java.io.OutputStream,java.lang.Object
			</methodargs>
		</property>
		<property>
			<name>converter</name>
			<classname>javax.faces.convert.Converter</classname>
			<description>
				ID of a converter to be used or a reference to a
				converter.
			</description>
		</property>
		<property>
			<name>cacheable</name>
			<classname>boolean</classname>
			<description>If "true", the resource is cached (on the server and the client sides).</description>
		</property>
		<property>
			<name>expires</name>
			<classname>java.util.Date</classname>
			<description>The attribute allows to manage caching and defines the period after which a resource is reloaded.</description>
		</property>
		<property>
			<name>session</name>
			<classname>boolean</classname>
			<description>If "true", a session for an object generation is restored.</description>
		</property>
		<property>
			<name>lastModified</name>
			<classname>java.util.Date</classname>
			<description>The attribute allows to manage caching. A browser can send request with the header "If-Modified-Since" for necessity of object reloading. If time of modification is earlier, then the framework doesn't call generation and return code 304.
			</description>
		</property>
	</component>     
</components>