/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 */
package org.apache.sling.api.scripting;

import org.apache.sling.api.resource.Resource;

/**
 * The <code>SlingScript</code> defines the API for objects which encapsulate
 * a script resolved by the {@link SlingScriptResolver}. To have a script
 * evaluated prepare a {@link SlingBindings} instance of variables used as
 * global variables to the script and call the {@link #eval(SlingBindings)}
 * method.
 * <p>
 * Objects implementing this interface are returned by the
 * {@link SlingScriptResolver#findScript(org.apache.sling.api.resource.ResourceResolver, String)}
 * method.
 */
public interface SlingScript {

    /**
     * Returns the Resource providing the script source code.
     */
    Resource getScriptResource();

    /**
     * Evaluates this script using the bound variables as global variables to
     * the script.
     *
     * @param props The {@link SlingBindings} providing the bound variables for
     *            evaluating the script. Any bound variables must conform to the
     *            requirements of the {@link SlingBindings} predefined variables
     *            set.
     * @return The value returned by the script.
     * @throws ScriptEvaluationException If an error occurrs executing the
     *             script or preparing the script execution. The cause of the
     *             evaluation execption is available as the exception cause.
     */
    Object eval(SlingBindings props);

    /**
     * Evaluates this script using the bound variables as global variables to
     * the script and then calls the given method with the arguments.
     *
     * @param props The {@link SlingBindings} providing the bound variables for
     *            evaluating the script. Any bound variables must conform to the
     *            requirements of the {@link SlingBindings} predefined variables
     *            set.
     * @param method The name of the method to call.
     * @param args The arguments for the method call.
     * @return The value returned by the method from the script.
     * @throws ScriptEvaluationException If an error occurrs executing the
     *             script or preparing the script execution. The cause of the
     *             evaluation execption is available as the exception cause.
     */
    Object call(SlingBindings props, String method, Object... args);
}

@@ -987,83 +987,30 @@
 ript
- resolved by the %7B@link SlingScriptResolver%7D. To have a script%0A * evaluated
+. To evaluate a script
  pre
@@ -1049,16 +1049,19 @@
 tance of
+%0A *
  variabl
@@ -1070,19 +1070,16 @@
  used as
-%0A *
  global 
@@ -1110,24 +1110,27 @@
 and call the
+%0A *
  %7B@link #eva
@@ -1146,19 +1146,16 @@
 ndings)%7D
-%0A *
  method.
@@ -1169,105 +1169,80 @@
 %0A * 
-Objects implementing this interface are returned by the%0A * %7B@link SlingScriptResolver#findScript(
+You can obtain scripts by resolving a script resource through%0A * %7B@link 
 org.
@@ -1283,18 +1283,25 @@
 Resolver
-, 
+#resolve(
 String)%7D
@@ -1304,22 +1304,111 @@
 ng)%7D%0A * 
-method
+and then trying to adapt the resource to a script by%0A * calling %7B@link Resource#adaptTo(Class)%7D
 .%0A */%0Apu

Update javadocs.