Author: fmui
Date: Tue Jan  7 17:11:04 2014
New Revision: 1556281

URL: http://svn.apache.org/r1556281
Log:
added unmodifiableOperationContext() to OperationContextUtils

Modified:
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/OperationContextUtils.java

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/OperationContextUtils.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/OperationContextUtils.java?rev=1556281&r1=1556280&r2=1556281&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/OperationContextUtils.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/OperationContextUtils.java
 Tue Jan  7 17:11:04 2014
@@ -84,4 +84,130 @@ public final class OperationContextUtils
         return new 
OperationContextImpl(Collections.singleton(PROPERTIES_STAR), true, true, true,
                 IncludeRelationships.BOTH, Collections.singleton("*"), false, 
null, true, 100);
     }
+
+    /**
+     * Returns an unmodifiable view of the specified OperationContext.
+     * 
+     * Attempts to modify the returned OperationContext object result in an
+     * {@code UnsupportedOperationException}.
+     */
+    public static OperationContext unmodifiableOperationContext(final 
OperationContext context) {
+        return new OperationContext() {
+
+            private static final long serialVersionUID = 1L;
+
+            public Set<String> getFilter() {
+                return Collections.unmodifiableSet(context.getFilter());
+            }
+
+            public void setFilter(Set<String> propertyFilter) {
+                throw new UnsupportedOperationException();
+            }
+
+            public void setFilterString(String propertyFilter) {
+                throw new UnsupportedOperationException();
+            }
+
+            public String getFilterString() {
+                return context.getFilterString();
+            }
+
+            public void setLoadSecondaryTypeProperties(boolean load) {
+                throw new UnsupportedOperationException();
+            }
+
+            public boolean loadSecondaryTypeProperties() {
+                return context.loadSecondaryTypeProperties();
+            }
+
+            public boolean isIncludeAllowableActions() {
+                return context.isIncludeAllowableActions();
+            }
+
+            public void setIncludeAllowableActions(boolean include) {
+                throw new UnsupportedOperationException();
+            }
+
+            public boolean isIncludeAcls() {
+                return context.isIncludeAcls();
+            }
+
+            public void setIncludeAcls(boolean include) {
+                throw new UnsupportedOperationException();
+            }
+
+            public IncludeRelationships getIncludeRelationships() {
+                return context.getIncludeRelationships();
+            }
+
+            public void setIncludeRelationships(IncludeRelationships include) {
+                throw new UnsupportedOperationException();
+            }
+
+            public boolean isIncludePolicies() {
+                return context.isIncludePolicies();
+            }
+
+            public void setIncludePolicies(boolean include) {
+                throw new UnsupportedOperationException();
+            }
+
+            public Set<String> getRenditionFilter() {
+                return 
Collections.unmodifiableSet(context.getRenditionFilter());
+            }
+
+            public void setRenditionFilter(Set<String> renditionFilter) {
+                throw new UnsupportedOperationException();
+            }
+
+            public void setRenditionFilterString(String renditionFilter) {
+                throw new UnsupportedOperationException();
+            }
+
+            public String getRenditionFilterString() {
+                return context.getRenditionFilterString();
+            }
+
+            public boolean isIncludePathSegments() {
+                return context.isIncludePathSegments();
+            }
+
+            public void setIncludePathSegments(boolean include) {
+                throw new UnsupportedOperationException();
+            }
+
+            public String getOrderBy() {
+                return context.getOrderBy();
+            }
+
+            public void setOrderBy(String orderBy) {
+                throw new UnsupportedOperationException();
+            }
+
+            public boolean isCacheEnabled() {
+                return context.isCacheEnabled();
+            }
+
+            public void setCacheEnabled(boolean cacheEnabled) {
+                throw new UnsupportedOperationException();
+            }
+
+            public String getCacheKey() {
+                return context.getCacheKey();
+            }
+
+            public void setMaxItemsPerPage(int maxItemsPerPage) {
+                throw new UnsupportedOperationException();
+            }
+
+            public int getMaxItemsPerPage() {
+                return context.getMaxItemsPerPage();
+            }
+
+            @Override
+            public String toString() {
+                return context.toString();
+            }
+        };
+    }
 }


Reply via email to