You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2015/01/15 18:24:22 UTC
svn commit: r1652176 - in /sling/trunk/contrib/scripting/sightly:
engine/src/main/java/org/apache/sling/scripting/sightly/
engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/
engine/src/main/java/org/apache/sling/scripting/sightly/im...
Author: fmeschbe
Date: Thu Jan 15 17:24:21 2015
New Revision: 1652176
URL: http://svn.apache.org/r1652176
Log:
SLING-4305 Refactor the Record interface:
* get -> getProperty
* properties -> getPropertyNames
Applied patch by Radu Cotescu (thanks a lot)
Modified:
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java
sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java Thu Jan 15 17:24:21 2015
@@ -24,24 +24,28 @@ import java.util.Set;
import aQute.bnd.annotation.ConsumerType;
/**
- * A key-value immutable object understood by the Sightly runtime
+ * A {@code Record} is a key-value immutable object understood by the Sightly runtime, used for abstracting complex objects like Sightly
+ * templates (declared with the {@code data-sly-template} block element) or objects that need to be translated from Java to JavaScript
+ * and back.
+ *
* @param <T> the type of values for this record
*/
@ConsumerType
public interface Record<T> {
/**
- * Get the value of the specified property
+ * Gets the value of a specified property.
+ *
* @param name the name of the property
- * @return the value of the property or null if this record does not
- * have the specified property
+ * @return the value of the property or {@code null} if this record does not have the specified property
*/
- T get(String name);
+ T getProperty(String name);
/**
- * Get the set of properties for this record
- * @return this record's properties
+ * Gets the set of names for this record's properties.
+ *
+ * @return this record's properties' names
*/
- Set<String> properties();
+ Set<String> getPropertyNames();
}
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java Thu Jan 15 17:24:21 2015
@@ -48,6 +48,6 @@ public final class SourceGenConstants {
public static final String MAP_GET = "get";
public static final String TRIM_METHOD = "trim";
public static final String STRING_EMPTY = "isEmpty";
- public static final String OBJ_GET = "get";
+ public static final String RECORD_GET_VALUE = "getProperty";
public static final String ARGUMENTS_FIELD = "arguments";
}
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java Thu Jan 15 17:24:21 2015
@@ -82,7 +82,7 @@ public class CodeGenVisitor implements C
case DYNAMIC:
initSource.beginAssignment(descriptor.getAssignedName());
if (descriptor.isTemplateVariable()) {
- initSource.startCall(SourceGenConstants.OBJ_GET);
+ initSource.startCall(SourceGenConstants.RECORD_GET_VALUE);
} else if (unitParameters.contains(descriptor.getOriginalName().toLowerCase())) {
initSource.startMethodCall(SourceGenConstants.ARGUMENTS_FIELD, SourceGenConstants.BINDINGS_GET_METHOD);
} else {
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java Thu Jan 15 17:24:21 2015
@@ -172,7 +172,7 @@ public class RenderContextImpl implement
return ((Map) obj).keySet();
}
if (obj instanceof Record) {
- return ((Record) obj).properties();
+ return ((Record) obj).getPropertyNames();
}
if (obj instanceof Enumeration) {
return Collections.list((Enumeration<Object>) obj);
@@ -245,7 +245,7 @@ public class RenderContextImpl implement
result = getMapProperty((Map) target, property);
}
if (result == null && target instanceof Record) {
- result = ((Record) target).get(property);
+ result = ((Record) target).getProperty(property);
}
if (result == null) {
result = getObjectProperty(target, property);
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java Thu Jan 15 17:24:21 2015
@@ -53,12 +53,12 @@ public abstract class RenderUnit impleme
}
@Override
- public RenderUnit get(String name) {
+ public RenderUnit getProperty(String name) {
return subTemplates.get(name.toLowerCase());
}
@Override
- public Set<String> properties() {
+ public Set<String> getPropertyNames() {
return subTemplates.keySet();
}
Modified: sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java (original)
+++ sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java Thu Jan 15 17:24:21 2015
@@ -44,7 +44,7 @@ public class HybridObject implements Scr
// Record implementation
@Override
- public Object get(String name) {
+ public Object getProperty(String name) {
if (name == null) {
return null;
}
@@ -57,7 +57,7 @@ public class HybridObject implements Scr
}
@Override
- public Set<String> properties() {
+ public Set<String> getPropertyNames() {
Object[] properties = scriptable.getIds();
Set<String> keys = new HashSet<String>();
for (Object property: properties) {