You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gk...@apache.org on 2007/07/12 17:39:25 UTC
svn commit: r555667 - in /cocoon/trunk/core/cocoon-expression-language:
cocoon-expression-language-api/
cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/
cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmo...
Author: gkossakowski
Date: Thu Jul 12 08:39:24 2007
New Revision: 555667
URL: http://svn.apache.org/viewvc?view=rev&rev=555667
Log:
COCOON-2086: Prototype for Object Model API and implementation.
Added:
cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/
cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java (with props)
cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/
cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java (with props)
Modified:
cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/pom.xml
Modified: cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/pom.xml?view=diff&rev=555667&r1=555666&r2=555667
==============================================================================
--- cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/pom.xml (original)
+++ cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/pom.xml Thu Jul 12 08:39:24 2007
@@ -56,5 +56,9 @@
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-pipeline-impl</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
</dependencies>
</project>
Added: cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java?view=auto&rev=555667
==============================================================================
--- cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java (added)
+++ cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java Thu Jul 12 08:39:24 2007
@@ -0,0 +1,12 @@
+package org.apache.cocoon.objectmodel;
+
+import org.apache.commons.collections.MultiMap;
+
+/**
+ * ObjectModel is just a {@link MultiMap} with little more constrained contracts.
+ *
+ * The only difference is that Collection for each key is compliant with LIFO list constracts.
+ */
+public interface ObjectModel extends MultiMap {
+
+}
Propchange: cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-api/src/main/java/org/apache/cocoon/objectmodel/ObjectModel.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java?view=auto&rev=555667
==============================================================================
--- cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java (added)
+++ cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java Thu Jul 12 08:39:24 2007
@@ -0,0 +1,38 @@
+package org.apache.cocoon.objectmodel;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.ListIterator;
+
+import org.apache.commons.collections.ArrayStack;
+import org.apache.commons.collections.Factory;
+import org.apache.commons.collections.iterators.ReverseListIterator;
+import org.apache.commons.collections.map.MultiValueMap;
+
+/**
+ * Prototype implementation of {@link ObjectModel} interface. It <b>must</b> be initialized manually for now.
+ *
+ */
+public class ObjectModelImpl extends MultiValueMap implements ObjectModel {
+
+ public ObjectModelImpl() {
+ super(new HashMap(), new Factory() {
+
+ public Object create() {
+ return new StackReversedIteration();
+ }
+
+ });
+ }
+
+ private static class StackReversedIteration extends ArrayStack {
+
+ public Iterator iterator() {
+ return new ReverseListIterator(this);
+ }
+
+ public ListIterator listIterator() {
+ throw new UnsupportedOperationException();
+ }
+ }
+}
Propchange: cocoon/trunk/core/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/objectmodel/ObjectModelImpl.java
------------------------------------------------------------------------------
svn:eol-style = native