Hi Anca,

On 01/10/2011 12:53 PM, lucaa (SVN) wrote:
> Author: lucaa
> Date: 2011-01-10 11:53:02 +0100 (Mon, 10 Jan 2011)
> New Revision: 33871
>
> Added:
>     platform/core/trunk/xwiki-skin/
>     platform/core/trunk/xwiki-skin/pom.xml
>     platform/core/trunk/xwiki-skin/src/
>     platform/core/trunk/xwiki-skin/src/main/
>     platform/core/trunk/xwiki-skin/src/main/java/
>     platform/core/trunk/xwiki-skin/src/main/java/org/
>     platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/
>     platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/
>     
> platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/SkinExtension.java
> Modified:
>     platform/core/trunk/pom.xml
> Log:
> XWIKI-5868: Add API for manipulating skin extensions as components
>
>
> Modified: platform/core/trunk/pom.xml
> ===================================================================
> --- platform/core/trunk/pom.xml       2011-01-10 09:32:57 UTC (rev 33870)
> +++ platform/core/trunk/pom.xml       2011-01-10 10:53:02 UTC (rev 33871)
> @@ -170,6 +170,7 @@
>       <module>xwiki-csrf</module>
>       <module>xwiki-extension</module>
>       <module>xwiki-legacy</module>
> +<module>xwiki-skin</module>
>     </modules>
>     <profiles>
>       <profile>
>
> Added: platform/core/trunk/xwiki-skin/pom.xml
> ===================================================================
> --- platform/core/trunk/xwiki-skin/pom.xml                            (rev 0)
> +++ platform/core/trunk/xwiki-skin/pom.xml    2011-01-10 10:53:02 UTC (rev 
> 33871)
> @@ -0,0 +1,32 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
> xmlns="http://maven.apache.org/POM/4.0.0";
> +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> +<modelVersion>4.0.0</modelVersion>
> +<parent>
> +<groupId>org.xwiki.platform</groupId>
> +<artifactId>xwiki-core-parent</artifactId>
> +<version>3.0-SNAPSHOT</version>
> +</parent>
> +<artifactId>xwiki-core-skin</artifactId>
> +<name>XWiki Core - Skin Component</name>
> +<description>XWiki Core - Skin Component</description>
> +<properties>
> +<xwiki.clirr.skip>true</xwiki.clirr.skip>
> +</properties>
> +<dependencies>
> +<dependency>
> +<groupId>org.xwiki.platform</groupId>
> +<artifactId>xwiki-core-component-default</artifactId>
> +<version>${project.version}</version>
> +</dependency>
> +</dependencies>
> +<build>
> +<plugins>
> +<!-- Apply the Checkstyle configurations defined in the top level pom.xml 
> file -->
> +<plugin>
> +<groupId>org.apache.maven.plugins</groupId>
> +<artifactId>maven-checkstyle-plugin</artifactId>
> +</plugin>
> +</plugins>
> +</build>
> +</project>
>
>
> Property changes on: platform/core/trunk/xwiki-skin/pom.xml
> ___________________________________________________________________
> Added: svn:keywords
>     + Author Id Revision HeadURL
> Added: svn:eol-style
>     + native
>
> Added: 
> platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/SkinExtension.java
> ===================================================================
> --- 
> platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/SkinExtension.java
>                            (rev 0)
> +++ 
> platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/SkinExtension.java
>    2011-01-10 10:53:02 UTC (rev 33871)
> @@ -0,0 +1,58 @@
> +/*
> + * See the NOTICE file distributed with this work for additional
> + * information regarding copyright ownership.
> + *
> + * This is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU Lesser General Public License as
> + * published by the Free Software Foundation; either version 2.1 of
> + * the License, or (at your option) any later version.
> + *
> + * This software is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this software; if not, write to the Free
> + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> + */
> +package org.xwiki.skinx;
> +
> +import java.util.Map;
> +
> +import org.xwiki.component.annotation.ComponentRole;
> +
> +/**
> + * Allows a component to use a skin file (js or css), in the current page 
> being rendered.
> + *
> + * @version $Id$
> + * @since 3.0M1
> + */
> +...@componentrole
> +public interface SkinExtension
> +{
> +    /**
> +     * Mark a resource as used in the current result. A resource is 
> registered only once per request, further calls will
> +     * not result in additional links, even if it is pulled with different 
> parameters.
> +     *
> +     * @param resource The name of the resource to pull.

> +     * @see AbstractSkinExtensionPlugin#use(String, XWikiContext)

I don't like the fact that the component interface points to an 
implementation. What others think?

Thanks,
Marius

> +     */
> +    void use(String resource);
> +
> +    /**
> +     * Mark a skin extension document as used in the current result, 
> together with some parameters. How the parameters
> +     * are used, depends on the type of resource being pulled. For example, 
> JS and CSS extensions use the parameters in
> +     * the resulting URL, while Link extensions use the parameters as 
> attributes of the link tag. A resource is
> +     * registered only once per request, further calls will not result in 
> additional links, even if it is pulled with
> +     * different parameters. If more than one calls per request are made, 
> the parameters used are the ones from the last
> +     * call (or none, if the last call did not specify any parameters).<br />
> +     * TODO: document here the parameters that can be used and their meaning.
> +     *
> +     * @param resource The name of the resource to pull.
> +     * @param parameters The parameters for this resource.
> +     * @see AbstractSkinExtensionPlugin#use(String, Map, XWikiContext)
> +     */
> +    void use(String resource, Map<String, Object>  parameters);
> +}
>
>
> Property changes on: 
> platform/core/trunk/xwiki-skin/src/main/java/org/xwiki/skinx/SkinExtension.java
> ___________________________________________________________________
> Added: svn:keywords
>     + Author Id Revision HeadURL
> Added: svn:eol-style
>     + native
>
> _______________________________________________
> notifications mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/notifications
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to