sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tom...@apache.org
Subject svn commit: r1809611 - /sling/trunk/contrib/extensions/sling-query/README.md
Date Mon, 25 Sep 2017 12:17:53 GMT
Author: tomekr
Date: Mon Sep 25 12:17:53 2017
New Revision: 1809611

URL: http://svn.apache.org/viewvc?rev=1809611&view=rev
Log:
SLING-6676: Get more documentation for Sling Query

Modified:
    sling/trunk/contrib/extensions/sling-query/README.md

Modified: sling/trunk/contrib/extensions/sling-query/README.md
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/README.md?rev=1809611&r1=1809610&r2=1809611&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/README.md (original)
+++ sling/trunk/contrib/extensions/sling-query/README.md Mon Sep 25 12:17:53 2017
@@ -1,64 +1,4 @@
 # SlingQuery
 SlingQuery is a Sling resource tree traversal tool inspired by the [jQuery](http://api.jquery.com/category/traversing/tree-traversal/).
 
-## Introduction
-
-Recommended way to find resources in the Sling repository is using tree-traversal methods,
like `listChildren()` and `getParent()` rather than JCR queries. The latter are great for
listing resources with given properties, but we can't leverage the repository tree structure
with such queries. On the other hand, using tree-traversal method is quite verbose. Consider
following code that takes an resource and returns its first ancestor, being `cq:Page`, with
given `jcr:content/cq:template` attribute:
-
-    Resource resource = ...;
-    while ((resource = resource.getParent()) != null) {
-        if (!resource.isResourceType("cq:Page")) {
-            continue;
-        }
-        Resource template = resource.getChild("jcr:content/cq:template");
-        if (template != null && "my/template".equals(template.adaptTo(String.class)))
{
-            break;
-        }
-    }
-    if (resource != null) {
-        // we've found appropriate ancestor
-    }
-
-SlingQuery is a tool that helps creating such queries in a more concise way. Above code could
be written as:
-
-    import static org.apache.sling.query.SlingQuery.$;
-    // ...
-    $(resource).closest("cq:Page[jcr:content/cq:template=my/template]")
-
-Dollar sign is a static method that takes the resource array and creates SlingQuery object.
The `closest()` method returns the first ancestor matching the selector string passed as the
argument.
-
-SlingQuery is inspired by the jQuery framework. jQuery is the source of method names, selector
string syntax and the dollar sign method used as a collection constructor.
-
-## Features
-
-* useful [operations](https://github.com/Cognifide/Sling-Query/wiki/Method-list) to traverse
the resource tree,
-* flexible [filtering syntax](https://github.com/Cognifide/Sling-Query/wiki/Selector-syntax),
-* lazy evaluation of the query result,
-* `SlingQuery` object is immutable (thread-safe),
-* fluent, friendly, jQuery-like API.
-
-## Installation
-
-Add following Maven dependency to your `pom.xml`:
-
-	<dependency>
-		<groupId>org.apache.sling</groupId>
-		<artifactId>org.apache.sling.query</artifactId>
-		<version>3.0.0</version>
-	</dependency>
-
-## Documentation
-
-* [CIRCUIT 2014 presentation](http://cognifide.github.io/Sling-Query/circuit2014/)
-* [Basic ideas](https://github.com/Cognifide/Sling-Query/wiki/Basic-ideas)
-* [Method list](https://github.com/Cognifide/Sling-Query/wiki/Method-list)
-* [Selector syntax](https://github.com/Cognifide/Sling-Query/wiki/Selector-syntax)
-	* [Operator list](https://github.com/Cognifide/Sling-Query/wiki/Operator-list)
-	* [Modifier list](https://github.com/Cognifide/Sling-Query/wiki/Modifier-list)
-	* [Hierarchy operator list](https://github.com/Cognifide/Sling-Query/wiki/Hierarchy-operator-list)
-* [Examples](https://github.com/Cognifide/Sling-Query/wiki/Examples)
-
-## External resources
-
-* See the [Apache Sling website](http://sling.apache.org/) for the Sling reference documentation.
Apache Sling, Apache and Sling are trademarks of the [Apache Software Foundation](http://apache.org).
-* Method names, selector syntax and some parts of documentation are inspired by the [jQuery](http://jquery.com/)
library.
+See the full documentation on [Apache Sling website](http://sling.apache.org/documentation/bundles/sling-query.html).



Mime
View raw message