Return-Path: X-Original-To: apmail-chemistry-commits-archive@www.apache.org Delivered-To: apmail-chemistry-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F228FEC84 for ; Mon, 27 May 2013 17:29:55 +0000 (UTC) Received: (qmail 91693 invoked by uid 500); 27 May 2013 17:29:55 -0000 Delivered-To: apmail-chemistry-commits-archive@chemistry.apache.org Received: (qmail 91545 invoked by uid 500); 27 May 2013 17:29:55 -0000 Mailing-List: contact commits-help@chemistry.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@chemistry.apache.org Delivered-To: mailing list commits@chemistry.apache.org Received: (qmail 91515 invoked by uid 99); 27 May 2013 17:29:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 May 2013 17:29:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 May 2013 17:29:49 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0F7802388C28; Mon, 27 May 2013 17:28:59 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1486679 [14/24] - in /chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl: ./ css/ images/ images/logos/ xref-test/ xref-test/org/ xref-test/org/apache/ xref-test/org/apache/chemistry/ xre... Date: Mon, 27 May 2013 17:28:53 -0000 To: commits@chemistry.apache.org From: gabriele@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130527172859.0F7802388C28@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/OperationContextImpl.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/OperationContextImpl.html?rev=1486679&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/OperationContextImpl.html (added) +++ chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/OperationContextImpl.html Mon May 27 17:28:51 2013 @@ -0,0 +1,394 @@ + + + + +OperationContextImpl xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one
+3    * or more contributor license agreements.  See the NOTICE file
+4    * distributed with this work for additional information
+5    * regarding copyright ownership.  The ASF licenses this file
+6    * to you under the Apache License, Version 2.0 (the
+7    * "License"); you may not use this file except in compliance
+8    * with the License.  You may obtain a copy of the License at
+9    *
+10   * http://www.apache.org/licenses/LICENSE-2.0
+11   *
+12   * Unless required by applicable law or agreed to in writing,
+13   * software distributed under the License is distributed on an
+14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+15   * KIND, either express or implied.  See the License for the
+16   * specific language governing permissions and limitations
+17   * under the License.
+18   */
+19  package org.apache.chemistry.opencmis.client.runtime;
+20  
+21  import java.io.Serializable;
+22  import java.util.Collections;
+23  import java.util.Set;
+24  import java.util.TreeSet;
+25  
+26  import org.apache.chemistry.opencmis.client.api.OperationContext;
+27  import org.apache.chemistry.opencmis.commons.PropertyIds;
+28  import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+29  
+30  /**
+31   * {@link OperationContext} implementation.
+32   */
+33  public class OperationContextImpl implements OperationContext, Serializable {
+34  
+35      public static final String PROPERTIES_STAR = "*";
+36      public static final String RENDITION_NONE = "cmis:none";
+37  
+38      private static final long serialVersionUID = 1L;
+39  
+40      private TreeSet<String> filter;
+41      private boolean loadSecondaryTypeProperties;
+42      private boolean includeAcls;
+43      private boolean includeAllowableActions;
+44      private boolean includePolicies;
+45      private IncludeRelationships includeRelationships;
+46      private TreeSet<String> renditionFilter;
+47      private boolean includePathSegments;
+48      private String orderBy;
+49      private boolean cacheEnabled;
+50      private String cacheKey;
+51      private int maxItemsPerPage;
+52  
+53      /**
+54       * Default constructor.
+55       */
+56      public OperationContextImpl() {
+57          setFilter(null);
+58          setLoadSecondaryTypeProperties(false);
+59          setIncludeAcls(false);
+60          setIncludeAllowableActions(true);
+61          setIncludePolicies(false);
+62          setIncludeRelationships(IncludeRelationships.NONE);
+63          setRenditionFilter(null);
+64          setIncludePathSegments(true);
+65          setOrderBy(null);
+66          setCacheEnabled(false);
+67          generateCacheKey();
+68  
+69          setMaxItemsPerPage(100); // default
+70      }
+71  
+72      /**
+73       * Copy constructor.
+74       */
+75      public OperationContextImpl(OperationContext source) {
+76          setFilter(source.getFilter());
+77          setLoadSecondaryTypeProperties(source.loadSecondaryTypeProperties());
+78          setIncludeAcls(source.isIncludeAcls());
+79          setIncludeAllowableActions(source.isIncludeAllowableActions());
+80          setIncludePolicies(source.isIncludePolicies());
+81          setIncludeRelationships(source.getIncludeRelationships());
+82          setRenditionFilter(source.getRenditionFilter());
+83          setIncludePathSegments(source.isIncludePathSegments());
+84          setOrderBy(source.getOrderBy());
+85          setCacheEnabled(source.isCacheEnabled());
+86          generateCacheKey();
+87  
+88          setMaxItemsPerPage(source.getMaxItemsPerPage());
+89      }
+90  
+91      /**
+92       * Constructor with parameters.
+93       */
+94      public OperationContextImpl(Set<String> propertyFilter, boolean includeAcls, boolean includeAllowableActions,
+95              boolean includePolicies, IncludeRelationships includeRelationships, Set<String> renditionFilter,
+96              boolean includePathSegments, String orderBy, boolean cacheEnabled, int maxItemsPerPage) {
+97          setFilter(propertyFilter);
+98          setIncludeAcls(includeAcls);
+99          setIncludeAllowableActions(includeAllowableActions);
+100         setIncludePolicies(includePolicies);
+101         setIncludeRelationships(includeRelationships);
+102         setRenditionFilter(renditionFilter);
+103         setIncludePathSegments(includePathSegments);
+104         setOrderBy(orderBy);
+105         setCacheEnabled(cacheEnabled);
+106         generateCacheKey();
+107 
+108         setMaxItemsPerPage(maxItemsPerPage);
+109     }
+110 
+111     public Set<String> getFilter() {
+112         if (this.filter == null) {
+113             return null;
+114         }
+115 
+116         return Collections.unmodifiableSet(this.filter);
+117     }
+118 
+119     public void setFilter(Set<String> propertyFilter) {
+120         if (propertyFilter != null) {
+121             TreeSet<String> tempSet = new TreeSet<String>();
+122 
+123             for (String oid : propertyFilter) {
+124                 if (oid == null) {
+125                     continue;
+126                 }
+127 
+128                 String toid = oid.trim();
+129                 if (toid.length() == 0) {
+130                     continue;
+131                 }
+132                 if (toid.equals(PROPERTIES_STAR)) {
+133                     tempSet = new TreeSet<String>();
+134                     tempSet.add(PROPERTIES_STAR);
+135                     break;
+136                 }
+137                 if (toid.indexOf(',') > -1) {
+138                     throw new IllegalArgumentException("Query id must not contain a comma!");
+139                 }
+140 
+141                 tempSet.add(toid);
+142             }
+143 
+144             if (tempSet.size() == 0) {
+145                 this.filter = null;
+146             } else {
+147                 this.filter = tempSet;
+148             }
+149         } else {
+150             this.filter = null;
+151         }
+152 
+153         generateCacheKey();
+154     }
+155 
+156     public void setFilterString(String propertyFilter) {
+157         if ((propertyFilter == null) || (propertyFilter.trim().length() == 0)) {
+158             setFilter(null);
+159             return;
+160         }
+161 
+162         String[] propertyIds = propertyFilter.split(",");
+163         TreeSet<String> tempSet = new TreeSet<String>();
+164         for (String pid : propertyIds) {
+165             tempSet.add(pid);
+166         }
+167 
+168         setFilter(tempSet);
+169     }
+170 
+171     public String getFilterString() {
+172         if (this.filter == null) {
+173             return null;
+174         }
+175 
+176         if (this.filter.contains(PROPERTIES_STAR)) {
+177             return PROPERTIES_STAR;
+178         }
+179 
+180         this.filter.add(PropertyIds.OBJECT_ID);
+181         this.filter.add(PropertyIds.BASE_TYPE_ID);
+182         this.filter.add(PropertyIds.OBJECT_TYPE_ID);
+183         if (loadSecondaryTypeProperties) {
+184             this.filter.add(PropertyIds.SECONDARY_OBJECT_TYPE_IDS);
+185         }
+186 
+187         StringBuilder sb = new StringBuilder();
+188 
+189         for (String oid : this.filter) {
+190             if (sb.length() > 0) {
+191                 sb.append(",");
+192             }
+193 
+194             sb.append(oid);
+195         }
+196 
+197         return sb.toString();
+198     }
+199 
+200     public void setLoadSecondaryTypeProperties(boolean load) {
+201         this.loadSecondaryTypeProperties = load;
+202     }
+203 
+204     public boolean loadSecondaryTypeProperties() {
+205         return loadSecondaryTypeProperties;
+206     }
+207 
+208     public boolean isIncludeAcls() {
+209         return includeAcls;
+210     }
+211 
+212     public void setIncludeAcls(boolean include) {
+213         this.includeAcls = include;
+214         generateCacheKey();
+215     }
+216 
+217     public boolean isIncludeAllowableActions() {
+218         return this.includeAllowableActions;
+219     }
+220 
+221     public void setIncludeAllowableActions(boolean include) {
+222         this.includeAllowableActions = include;
+223         generateCacheKey();
+224     }
+225 
+226     public boolean isIncludePolicies() {
+227         return this.includePolicies;
+228     }
+229 
+230     public void setIncludePolicies(boolean include) {
+231         this.includePolicies = include;
+232         generateCacheKey();
+233     }
+234 
+235     public IncludeRelationships getIncludeRelationships() {
+236         return this.includeRelationships;
+237     }
+238 
+239     public void setIncludeRelationships(IncludeRelationships include) {
+240         this.includeRelationships = include;
+241         generateCacheKey();
+242     }
+243 
+244     public Set<String> getRenditionFilter() {
+245         if (this.renditionFilter == null) {
+246             return null;
+247         }
+248 
+249         return Collections.unmodifiableSet(this.renditionFilter);
+250     }
+251 
+252     public void setRenditionFilter(Set<String> renditionFilter) {
+253         TreeSet<String> tempSet = new TreeSet<String>();
+254 
+255         if (renditionFilter != null) {
+256             for (String rf : renditionFilter) {
+257                 if (rf == null) {
+258                     continue;
+259                 }
+260 
+261                 String trf = rf.trim();
+262                 if (trf.length() == 0) {
+263                     continue;
+264                 }
+265                 if (trf.indexOf(',') > -1) {
+266                     throw new IllegalArgumentException("Rendition must not contain a comma!");
+267                 }
+268 
+269                 tempSet.add(trf);
+270             }
+271 
+272             if (tempSet.size() == 0) {
+273                 tempSet.add(RENDITION_NONE);
+274             }
+275         } else {
+276             tempSet.add(RENDITION_NONE);
+277         }
+278 
+279         this.renditionFilter = tempSet;
+280         generateCacheKey();
+281     }
+282 
+283     public void setRenditionFilterString(String renditionFilter) {
+284         if ((renditionFilter == null) || (renditionFilter.trim().length() == 0)) {
+285             setRenditionFilter(null);
+286             return;
+287         }
+288 
+289         String[] renditions = renditionFilter.split(",");
+290         TreeSet<String> tempSet = new TreeSet<String>();
+291         for (String rend : renditions) {
+292             tempSet.add(rend);
+293         }
+294 
+295         setRenditionFilter(tempSet);
+296     }
+297 
+298     public String getRenditionFilterString() {
+299         if (this.renditionFilter == null) {
+300             return null;
+301         }
+302 
+303         StringBuilder sb = new StringBuilder();
+304 
+305         for (String rf : this.renditionFilter) {
+306             if (sb.length() > 0) {
+307                 sb.append(",");
+308             }
+309 
+310             sb.append(rf);
+311         }
+312 
+313         return sb.toString();
+314     }
+315 
+316     public boolean isIncludePathSegments() {
+317         return includePathSegments;
+318     }
+319 
+320     public void setIncludePathSegments(boolean include) {
+321         this.includePathSegments = include;
+322     }
+323 
+324     public String getOrderBy() {
+325         return this.orderBy;
+326     }
+327 
+328     public void setOrderBy(String orderBy) {
+329         this.orderBy = orderBy;
+330     }
+331 
+332     public boolean isCacheEnabled() {
+333         return cacheEnabled;
+334     }
+335 
+336     public void setCacheEnabled(boolean cacheEnabled) {
+337         this.cacheEnabled = cacheEnabled;
+338     }
+339 
+340     public String getCacheKey() {
+341         return cacheKey;
+342     }
+343 
+344     /**
+345      * Generates a new cache key from all parameters that are relevant for
+346      * caching.
+347      */
+348     protected void generateCacheKey() {
+349         if (!cacheEnabled) {
+350             cacheKey = null;
+351         }
+352 
+353         StringBuilder sb = new StringBuilder();
+354 
+355         sb.append(includeAcls ? "1" : "0");
+356         sb.append(includeAllowableActions ? "1" : "0");
+357         sb.append(includePolicies ? "1" : "0");
+358         sb.append("|");
+359         sb.append(filter == null ? "" : getFilterString());
+360         sb.append("|");
+361         sb.append(includeRelationships == null ? "" : includeRelationships.value());
+362 
+363         sb.append("|");
+364         sb.append(renditionFilter == null ? "" : getRenditionFilterString());
+365 
+366         cacheKey = sb.toString();
+367     }
+368 
+369     public int getMaxItemsPerPage() {
+370         return this.maxItemsPerPage;
+371     }
+372 
+373     public void setMaxItemsPerPage(int maxItemsPerPage) {
+374         if (maxItemsPerPage < 1) {
+375             throw new IllegalArgumentException("itemsPerPage must be > 0!");
+376         }
+377 
+378         this.maxItemsPerPage = maxItemsPerPage;
+379     }
+380 }
+
+
+ + Added: chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PolicyImpl.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PolicyImpl.html?rev=1486679&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PolicyImpl.html (added) +++ chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PolicyImpl.html Mon May 27 17:28:51 2013 @@ -0,0 +1,76 @@ + + + + +PolicyImpl xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one
+3    * or more contributor license agreements.  See the NOTICE file
+4    * distributed with this work for additional information
+5    * regarding copyright ownership.  The ASF licenses this file
+6    * to you under the Apache License, Version 2.0 (the
+7    * "License"); you may not use this file except in compliance
+8    * with the License.  You may obtain a copy of the License at
+9    *
+10   * http://www.apache.org/licenses/LICENSE-2.0
+11   *
+12   * Unless required by applicable law or agreed to in writing,
+13   * software distributed under the License is distributed on an
+14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+15   * KIND, either express or implied.  See the License for the
+16   * specific language governing permissions and limitations
+17   * under the License.
+18   */
+19  package org.apache.chemistry.opencmis.client.runtime;
+20  
+21  import org.apache.chemistry.opencmis.client.api.ObjectType;
+22  import org.apache.chemistry.opencmis.client.api.OperationContext;
+23  import org.apache.chemistry.opencmis.client.api.Policy;
+24  import org.apache.chemistry.opencmis.commons.PropertyIds;
+25  import org.apache.chemistry.opencmis.commons.data.ObjectData;
+26  
+27  public class PolicyImpl extends AbstractFilableCmisObject implements Policy {
+28  
+29      private static final long serialVersionUID = 1L;
+30  
+31      /**
+32       * Constructor.
+33       */
+34      public PolicyImpl(SessionImpl session, ObjectType objectType, ObjectData objectData, OperationContext context) {
+35          initialize(session, objectType, objectData, context);
+36      }
+37  
+38      /**
+39       * @deprecated Support for transient objects will be removed in the future.
+40       */
+41      @Deprecated
+42      @Override
+43      protected org.apache.chemistry.opencmis.client.api.TransientCmisObject createTransientCmisObject() {
+44          TransientPolicyImpl tp = new TransientPolicyImpl();
+45          tp.initialize(getSession(), this);
+46  
+47          return tp;
+48      }
+49  
+50      /**
+51       * @deprecated Support for transient objects will be removed in the future.
+52       */
+53      @Deprecated
+54      public org.apache.chemistry.opencmis.client.api.TransientPolicy getTransientPolicy() {
+55          return (org.apache.chemistry.opencmis.client.api.TransientPolicy) getTransientObject();
+56      }
+57  
+58      public String getPolicyText() {
+59          return getPropertyValue(PropertyIds.POLICY_TEXT);
+60      }
+61  
+62  }
+
+
+ + Added: chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PropertyImpl.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PropertyImpl.html?rev=1486679&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PropertyImpl.html (added) +++ chemistry/site/trunk/content/java/0.9.0/maven/chemistry-opencmis-client/chemistry-opencmis-client-impl/xref/org/apache/chemistry/opencmis/client/runtime/PropertyImpl.html Mon May 27 17:28:51 2013 @@ -0,0 +1,150 @@ + + + + +PropertyImpl xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one
+3    * or more contributor license agreements.  See the NOTICE file
+4    * distributed with this work for additional information
+5    * regarding copyright ownership.  The ASF licenses this file
+6    * to you under the Apache License, Version 2.0 (the
+7    * "License"); you may not use this file except in compliance
+8    * with the License.  You may obtain a copy of the License at
+9    *
+10   * http://www.apache.org/licenses/LICENSE-2.0
+11   *
+12   * Unless required by applicable law or agreed to in writing,
+13   * software distributed under the License is distributed on an
+14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+15   * KIND, either express or implied.  See the License for the
+16   * specific language governing permissions and limitations
+17   * under the License.
+18   */
+19  package org.apache.chemistry.opencmis.client.runtime;
+20  
+21  import java.io.Serializable;
+22  import java.util.ArrayList;
+23  import java.util.GregorianCalendar;
+24  import java.util.List;
+25  
+26  import org.apache.chemistry.opencmis.client.api.Property;
+27  import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
+28  import org.apache.chemistry.opencmis.commons.enums.Cardinality;
+29  import org.apache.chemistry.opencmis.commons.enums.PropertyType;
+30  import org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyData;
+31  
+32  /**
+33   * Property Implementation.
+34   */
+35  public class PropertyImpl<T> extends AbstractPropertyData<T> implements Property<T>, Serializable {
+36  
+37      private static final long serialVersionUID = 1L;
+38      private final PropertyDefinition<T> propertyDefinition;
+39  
+40      protected void initialize(PropertyDefinition<?> pd) {
+41          setId(pd.getId());
+42          setDisplayName(pd.getDisplayName());
+43          setLocalName(pd.getLocalName());
+44          setQueryName(pd.getQueryName());
+45      }
+46  
+47      /**
+48       * Constructs a property from a list of values.
+49       */
+50      public PropertyImpl(PropertyDefinition<T> pd, List<T> values) {
+51          if (pd == null) {
+52              throw new IllegalArgumentException("Type must be set!");
+53          }
+54          if (values == null) {
+55              throw new IllegalArgumentException("Value must be set!");
+56          }
+57          propertyDefinition = pd;
+58          initialize(pd);
+59          setValues(values);
+60      }
+61  
+62      /**
+63       * Copy constructor.
+64       */
+65      public PropertyImpl(Property<T> property) {
+66          if (property == null) {
+67              throw new IllegalArgumentException("Source must be set!");
+68          }
+69  
+70          propertyDefinition = property.getDefinition();
+71          initialize(property.getDefinition());
+72          setValues(new ArrayList<T>(property.getValues()));
+73      }
+74  
+75      public PropertyDefinition<T> getDefinition() {
+76          return propertyDefinition;
+77      }
+78  
+79      public PropertyType getType() {
+80          return propertyDefinition.getPropertyType();
+81      }
+82  
+83      @SuppressWarnings("unchecked")
+84      public <U> U getValue() {
+85          List<T> values = getValues();
+86          if (propertyDefinition.getCardinality() == Cardinality.SINGLE) {
+87              return values.size() == 0 ? null : (U) values.get(0);
+88          } else {
+89              return (U) values;
+90          }
+91      }
+92  
+93      public String getValueAsString() {
+94          List<T> values = getValues();
+95          if (values.size() == 0) {
+96              return null;
+97          }
+98  
+99          return formatValue(values.get(0));
+100     }
+101 
+102     public String getValuesAsString() {
+103         List<T> values = getValues();
+104 
+105         StringBuilder result = new StringBuilder();
+106         for (T value : values) {
+107             if (result.length() > 0) {
+108                 result.append(", ");
+109             }
+110 
+111             result.append(formatValue(value));
+112         }
+113 
+114         return "[" + result.toString() + "]";
+115     }
+116 
+117     private String formatValue(T value) {
+118         String result;
+119 
+120         if (value == null) {
+121             return null;
+122         }
+123 
+124         if (value instanceof GregorianCalendar) {
+125             result = ((GregorianCalendar) value).getTime().toString();
+126         } else {
+127             result = value.toString();
+128         }
+129 
+130         return result;
+131     }
+132 
+133     public boolean isMultiValued() {
+134         return propertyDefinition.getCardinality() == Cardinality.MULTI;
+135     }
+136 }
+
+
+ +