chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From f...@apache.org
Subject svn commit: r1061233 [12/15] - in /incubator/chemistry/dotcmis: branches/ tags/ trunk/ trunk/DotCMIS/ trunk/DotCMIS/Properties/ trunk/DotCMIS/Service References/ trunk/DotCMIS/Service References/CMISWebServicesReference/ trunk/DotCMIS/binding/ trunk/Do...
Date Thu, 20 Jan 2011 11:38:50 GMT
Added: incubator/chemistry/dotcmis/trunk/DotCMIS/const.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/const.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/const.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/const.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,357 @@
+/*
+ * 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.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS
+{
+    public static class SessionParameter
+    {
+        // ---- general parameter ----
+        public const string User = "org.apache.chemistry.dotcmis.user";
+        public const string Password = "org.apache.chemistry.dotcmis.password";
+
+        // ---- provider parameter ----
+        // Predefined binding types
+        public const string BindingType = "org.apache.chemistry.dotcmis.binding.spi.type";
+
+        // Class name of the binding class.
+        public const string BindingSpiClass = "org.apache.chemistry.dotcmis.binding.spi.classname";
+
+        // URL of the AtomPub service document.
+        public const string AtomPubUrl = "org.apache.chemistry.dotcmis.binding.atompub.url";
+
+        // WSDL URLs for Web Services.
+        public const string WebServicesRepositoryService = "org.apache.chemistry.dotcmis.binding.webservices.RepositoryService";
+        public const string WebServicesNavigationService = "org.apache.chemistry.dotcmis.binding.webservices.NavigationService";
+        public const string WebServicesObjectService = "org.apache.chemistry.dotcmis.binding.webservices.ObjectService";
+        public const string WebServicesVersioningService = "org.apache.chemistry.dotcmis.binding.webservices.VersioningService";
+        public const string WebServicesDiscoveryService = "org.apache.chemistry.dotcmis.binding.webservices.DiscoveryService";
+        public const string WebServicesRelationshipService = "org.apache.chemistry.dotcmis.binding.webservices.RelationshipService";
+        public const string WebServicesMultifilingService = "org.apache.chemistry.dotcmis.binding.webservices.MultiFilingService";
+        public const string WebServicesPolicyService = "org.apache.chemistry.dotcmis.binding.webservices.PolicyService";
+        public const string WebServicesAclService = "org.apache.chemistry.dotcmis.binding.webservices.ACLService";
+
+        // authentication provider
+        public const string AuthenticationProviderClass = "org.apache.chemistry.dotcmis.binding.auth.classname";
+
+        // binding caches
+        public const string CacheSizeRepositories = "org.apache.chemistry.dotcmis.binding.cache.repositories.size";
+        public const string CacheSizeTypes = "org.apache.chemistry.dotcmis.binding.cache.types.size";
+        public const string CacheSizeLinks = "org.apache.chemistry.dotcmis.binding.cache.links.size";
+
+        // message size
+        public const string MessageSize = "org.apache.chemistry.dotcmis.binding.message.size";
+    }
+
+    public static class BindingType
+    {
+        public const string AtomPub = "atompub";
+        public const string WebServices = "webservices";
+    }
+
+    public static class PropertyIds
+    {
+        // ---- base ----
+        public const string Name = "cmis:name";
+        public const string ObjectId = "cmis:objectId";
+        public const string ObjectTypeId = "cmis:objectTypeId";
+        public const string BaseTypeId = "cmis:baseTypeId";
+        public const string CreatedBy = "cmis:createdBy";
+        public const string CreationDate = "cmis:creationDate";
+        public const string LastModifiedBy = "cmis:lastModifiedBy";
+        public const string LastModificationDate = "cmis:lastModificationDate";
+        public const string ChangeToken = "cmis:changeToken";
+
+        // ---- document ----
+        public const string IsImmutable = "cmis:isImmutable";
+        public const string IsLatestVersion = "cmis:isLatestVersion";
+        public const string IsMajorVersion = "cmis:isMajorVersion";
+        public const string isLatestMajorVersion = "cmis:isLatestMajorVersion";
+        public const string VersionLabel = "cmis:versionLabel";
+        public const string VersionSeriesId = "cmis:versionSeriesId";
+        public const string IsVersionSeriesCheckedOut = "cmis:isVersionSeriesCheckedOut";
+        public const string VersionSeriesCheckedOutBy = "cmis:versionSeriesCheckedOutBy";
+        public const string VersionSeriesCheckedOutId = "cmis:versionSeriesCheckedOutId";
+        public const string CheckinComment = "cmis:checkinComment";
+        public const string ContentStreamLength = "cmis:contentStreamLength";
+        public const string ContentStreamMimeType = "cmis:contentStreamMimeType";
+        public const string ContentStreamFileName = "cmis:contentStreamFileName";
+        public const string ContentStreamId = "cmis:contentStreamId";
+
+        // ---- folder ----
+        public const string ParentId = "cmis:parentId";
+        public const string AllowedChildObjectTypeIds = "cmis:allowedChildObjectTypeIds";
+        public const string Path = "cmis:path";
+
+        // ---- relationship ----
+        public const string SourceId = "cmis:sourceId";
+        public const string TargetId = "cmis:targetId";
+
+        // ---- policy ----
+        public const string PolicyText = "cmis:policyText";
+    }
+
+    public static class BasicPermissions
+    {
+        public const string Read = "cmis:read";
+        public const string Write = "cmis:write";
+        public const string All = "cmis:all";
+    }
+
+    public static class PermissionMappingKeys
+    {
+        public const string CanGetDescendentsFolder = "canGetDescendents.Folder";
+        public const string CanGetChildrenFolder = "canGetChildren.Folder";
+        public const string CanGetParentsFolder = "canGetParents.Folder";
+        public const string CanGetFolderParentObject = "canGetFolderParent.Object";
+        public const string CanCreateDocumentFolder = "canCreateDocument.Folder";
+        public const string CanCreateFolderFolder = "canCreateFolder.Folder";
+        public const string CanCreateRelationshipSource = "canCreateRelationship.Source";
+        public const string CanCreateRelationshipTarget = "canCreateRelationship.Target";
+        public const string CanGetPropertiesObject = "canGetProperties.Object";
+        public const string CanViewContentObject = "canViewContent.Object";
+        public const string CanUpdatePropertiesObject = "canUpdateProperties.Object";
+        public const string CanMoveObject = "canMove.Object";
+        public const string CanMoveTarget = "canMove.Target";
+        public const string CanMoveSource = "canMove.Source";
+        public const string CanDeleteObject = "canDelete.Object";
+        public const string CanDeleteTreeFolder = "canDeleteTree.Folder";
+        public const string CanSetContentDocument = "canSetContent.Document";
+        public const string CanDeleteContentDocument = "canDeleteContent.Document";
+        public const string CanAddToFolderObject = "canAddToFolder.Object";
+        public const string CanAddToFolderFolder = "canAddToFolder.Folder";
+        public const string CanRemoveFromFolderObject = "canRemoveFromFolder.Object";
+        public const string CanRemoveFromFolderFolder = "canRemoveFromFolder.Folder";
+        public const string CanCheckoutDocument = "canCheckout.Document";
+        public const string CanCancelCheckoutDocument = "canCancelCheckout.Document";
+        public const string CanCheckinDocument = "canCheckin.Document";
+        public const string CanGetAllVersionsVersionSeries = "canGetAllVersions.VersionSeries";
+        public const string CanGetObjectRelationshipSObject = "canGetObjectRelationships.Object";
+        public const string CanAddPolicyObject = "canAddPolicy.Object";
+        public const string CanAddPolicyPolicy = "canAddPolicy.Policy";
+        public const string CanRemovePolicyObject = "canRemovePolicy.Object";
+        public const string CanRemovePolicyPolicy = "canRemovePolicy.Policy";
+        public const string CanGetAppliesPoliciesObject = "canGetAppliedPolicies.Object";
+        public const string CanGetAclObject = "canGetAcl.Object";
+        public const string CanApplyAclObject = "canApplyAcl.Object";
+    }
+
+    public static class Actions
+    {
+        public const string CanDeleteObject = "canDeleteObject";
+        public const string CanUpdateProperties = "canUpdateProperties";
+        public const string CanGetProperties = "canGetProperties";
+        public const string CanGetObjectRelationships = "canGetObjectRelationships";
+        public const string CanGetObjectParents = "canGetObjectParents";
+        public const string CanGetFolderParent = "canGetFolderParent";
+        public const string CanGetFolderTree = "canGetFolderTree";
+        public const string CanGetDescendants = "canGetDescendants";
+        public const string CanMoveObject = "canMoveObject";
+        public const string CanDeleteContentStream = "canDeleteContentStream";
+        public const string CanCheckOut = "canCheckOut";
+        public const string CanCancelCheckOut = "canCancelCheckOut";
+        public const string CanCheckIn = "canCheckIn";
+        public const string CanSetContentStream = "canSetContentStream";
+        public const string CanGetAllVersions = "canGetAllVersions";
+        public const string CanAddObjectToFolder = "canAddObjectToFolder";
+        public const string CanRemoveObjectFromFolder = "canRemoveObjectFromFolder";
+        public const string CanGetContentStream = "canGetContentStream";
+        public const string CanApplyPolicy = "canApplyPolicy";
+        public const string CanGetAppliedPolicies = "canGetAppliedPolicies";
+        public const string CanRemovePolicy = "canRemovePolicy";
+        public const string CanGetChildren = "canGetChildren";
+        public const string CanCreateDocument = "canCreateDocument";
+        public const string CanCreateFolder = "canCreateFolder";
+        public const string CanCreateRelationship = "canCreateRelationship";
+        public const string CanDeleteTree = "canDeleteTree";
+        public const string CanGetRenditions = "canGetRenditions";
+        public const string CanGetAcl = "canGetACL";
+        public const string CanApplyAcl = "canApplyACL";
+    }
+
+    internal static class AtomPubConstants
+    {
+        // namespaces
+        public const string NamespaceCMIS = "http://docs.oasis-open.org/ns/cmis/core/200908/";
+        public const string NamespaceAtom = "http://www.w3.org/2005/Atom";
+        public const string NamespaceAPP = "http://www.w3.org/2007/app";
+        public const string NamespaceRestAtom = "http://docs.oasis-open.org/ns/cmis/restatom/200908/";
+        public const string NamespaceXSI = "http://www.w3.org/2001/XMLSchema-instance";
+
+        // media types
+        public const string MediatypeService = "application/atomsvc+xml";
+        public const string MediatypeFeed = "application/atom+xml;type=feed";
+        public const string MediatypeEntry = "application/atom+xml;type=entry";
+        public const string MediatypeChildren = MediatypeFeed;
+        public const string MediatypeDescendants = "application/cmistree+xml";
+        public const string MediatypeQuery = "application/cmisquery+xml";
+        public const string MediatypeAllowableAction = "application/cmisallowableactions+xml";
+        public const string MediatypeACL = "application/cmisacl+xml";
+        public const string MediatypeCMISAtom = "application/cmisatom+xml";
+        public const string MediatypeOctetStream = "application/octet-stream";
+
+        // collections
+        public const string CollectionRoot = "root";
+        public const string CollectionTypes = "types";
+        public const string CollectionQuery = "query";
+        public const string CollectionCheckedout = "checkedout";
+        public const string CollectionUnfiled = "unfiled";
+
+        // URI templates
+        public const string TemplateObjectById = "objectbyid";
+        public const string TemplateObjectByPath = "objectbypath";
+        public const string TemplateTypeById = "typebyid";
+        public const string TemplateQuery = "query";
+
+        // Link rel
+        public const string RelSelf = "self";
+        public const string RelEnclosure = "enclosure";
+        public const string RelService = "service";
+        public const string RelDescribedBy = "describedby";
+        public const string RelAlternate = "alternate";
+        public const string RelDown = "down";
+        public const string RelUp = "up";
+        public const string RelFirst = "first";
+        public const string RelLast = "last";
+        public const string RelPrev = "previous";
+        public const string RelNext = "next";
+        public const string RelVia = "via";
+        public const string RelEdit = "edit";
+        public const string RelEditMedia = "edit-media";
+        public const string RelVersionHistory = "version-history";
+        public const string RelCurrentVersion = "current-version";
+        public const string RelWorkingCopy = "working-copy";
+        public const string RelFolderTree = "http://docs.oasis-open.org/ns/cmis/link/200908/foldertree";
+        public const string RelAllowableActions = "http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions";
+        public const string RelACL = "http://docs.oasis-open.org/ns/cmis/link/200908/acl";
+        public const string RelSource = "http://docs.oasis-open.org/ns/cmis/link/200908/source";
+        public const string RelTarget = "http://docs.oasis-open.org/ns/cmis/link/200908/target";
+        public const string RelRelationships = "http://docs.oasis-open.org/ns/cmis/link/200908/relationships";
+        public const string RelPolicies = "http://docs.oasis-open.org/ns/cmis/link/200908/policies";
+
+        public const string RepRelTypeDesc = "http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants";
+        public const string RepRelFolderTree = "http://docs.oasis-open.org/ns/cmis/link/200908/foldertree";
+        public const string RepRelRootDesc = "http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants";
+        public const string RepRelChanges = "http://docs.oasis-open.org/ns/cmis/link/200908/changes";
+
+        // parameter
+        public const string ParamACL = "includeACL";
+        public const string ParamAllowableActions = "includeAllowableActions";
+        public const string ParamAllVersions = "allVersions";
+        public const string ParamChangeLogToken = "changeLogToken";
+        public const string ParamChangeToken = "changeToken";
+        public const string ParamCheckinComment = "checkinComment";
+        public const string ParamCheckIn = "checkin";
+        public const string ParamChildTypes = "childTypes";
+        public const string ParamContinueOnFailure = "continueOnFailure";
+        public const string ParamDepth = "depth";
+        public const string ParamFilter = "filter";
+        public const string ParamFolderId = "folderId";
+        public const string ParamId = "id";
+        public const string ParamMajor = "major";
+        public const string ParamMaxItems = "maxItems";
+        public const string ParamObjectId = "objectId";
+        public const string ParamOnlyBasicPermissions = "onlyBasicPermissions";
+        public const string ParamOrderBy = "orderBy";
+        public const string ParamOverwriteFlag = "overwriteFlag";
+        public const string ParamPath = "path";
+        public const string ParamPathSegment = "includePathSegment";
+        public const string ParamPolicyId = "policyId";
+        public const string ParamPolicyIds = "includePolicyIds";
+        public const string ParamProperties = "includeProperties";
+        public const string ParamPropertyDefinitions = "includePropertyDefinitions";
+        public const string ParamRelationships = "includeRelationships";
+        public const string ParamRelationshipDirection = "relationshipDirection";
+        public const string ParamRelativePathSegment = "includeRelativePathSegment";
+        public const string ParamRemoveFrom = "removeFrom";
+        public const string ParamRenditionFilter = "renditionFilter";
+        public const string ParamRepositoryId = "repositoryId";
+        public const string ParamReturnVersion = "returnVersion";
+        public const string ParamSkipCount = "skipCount";
+        public const string ParamSourceFolderId = "sourceFolderId";
+        public const string ParamStreamId = "streamId";
+        public const string ParamSubRelationshipTypes = "includeSubRelationshipTypes";
+        public const string ParamTypeId = "typeId";
+        public const string ParamUnfildeObjects = "unfileObjects";
+        public const string ParamVersioningState = "versioningState";
+        public const string ParamQ = "q";
+        public const string ParamSearchAllVersions = "searchAllVersions";
+        public const string ParamACLPropagation = "ACLPropagation";
+
+        // rendition filter
+        public const string RenditionNone = "cmis:none";
+
+        // service doc
+        public const string TagService = "service";
+        public const string TagWorkspace = "workspace";
+        public const string TagRepositoryInfo = "repositoryInfo";
+        public const string TagCollection = "collection";
+        public const string TagCollectionType = "collectionType";
+        public const string TagUriTemplate = "uritemplate";
+        public const string TagTemplateTemplate = "template";
+        public const string TagTemplateType = "type";
+        public const string TagLink = "link";
+
+        // atom
+        public const string TagAtomId = "id";
+        public const string TagAtomTitle = "title";
+        public const string TagAtomUpdated = "updated";
+
+        // feed
+        public const string TagFeed = "feed";
+
+        // entry
+        public const string TagEntry = "entry";
+        public const string TagObject = "object";
+        public const string TagNumItems = "numItems";
+        public const string TagPathSegment = "pathSegment";
+        public const string TagRelativePathSegment = "relativePathSegment";
+        public const string TagType = "type";
+        public const string TagChildren = "children";
+        public const string TagContent = "content";
+        public const string TagContentMediatype = "mediatype";
+        public const string TagContentBase64 = "base64";
+
+        // allowable actions
+        public const string TagAllowableActions = "allowableActions";
+
+        // ACL
+        public const string TagACL = "acl";
+
+        // query
+        public const string TagQuery = "query";
+        public const string TagStatement = "statement";
+        public const string TagSearchAllVersions = "searchAllVersions";
+        public const string TagIncludeAllowableActions = "includeAllowableActions";
+        public const string TagRenditionFilter = "renditionFilter";
+        public const string TagIncludeRelationships = "includeRelationships";
+        public const string TagMaxItems = "maxItems";
+        public const string TagSkipCount = "skipCount";
+
+        // links
+        public const string LinkRel = "rel";
+        public const string LinkHref = "href";
+        public const string LinkType = "type";
+        public const string ContentSrc = "src";
+        public const string LinkRelContent = "@@content@@";
+    }
+}

Added: incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-impl.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-impl.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-impl.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-impl.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,539 @@
+/*
+ * 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.
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Data
+{
+    public class RepositoryInfo : ExtensionsData, IRepositoryInfo
+    {
+        public string Id { get; set; }
+        public string Name { get; set; }
+        public string Description { get; set; }
+        public string VendorName { get; set; }
+        public string ProductName { get; set; }
+        public string ProductVersion { get; set; }
+        public string RootFolderId { get; set; }
+        public IRepositoryCapabilities Capabilities { get; set; }
+        public IAclCapabilities AclCapabilities { get; set; }
+        public string LatestChangeLogToken { get; set; }
+        public string CmisVersionSupported { get; set; }
+        public string ThinClientUri { get; set; }
+        public bool? ChangesIncomplete { get; set; }
+        public IList<BaseTypeId?> ChangesOnType { get; set; }
+        public string PrincipalIdAnonymous { get; set; }
+        public string PrincipalIdAnyone { get; set; }
+    }
+
+    public class RepositoryCapabilities : ExtensionsData, IRepositoryCapabilities
+    {
+        public CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; set; }
+        public CapabilityChanges? ChangesCapability { get; set; }
+        public CapabilityRenditions? RenditionsCapability { get; set; }
+        public bool? IsGetDescendantsSupported { get; set; }
+        public bool? IsGetFolderTreeSupported { get; set; }
+        public bool? IsMultifilingSupported { get; set; }
+        public bool? IsUnfilingSupported { get; set; }
+        public bool? IsVersionSpecificFilingSupported { get; set; }
+        public bool? IsPwcSearchableSupported { get; set; }
+        public bool? IsPwcUpdatableSupported { get; set; }
+        public bool? IsAllVersionsSearchableSupported { get; set; }
+        public CapabilityQuery? QueryCapability { get; set; }
+        public CapabilityJoin? JoinCapability { get; set; }
+        public CapabilityAcl? AclCapability { get; set; }
+    }
+
+    public class AclCapabilities : ExtensionsData, IAclCapabilities
+    {
+        public SupportedPermissions? SupportedPermissions { get; set; }
+        public AclPropagation? AclPropagation { get; set; }
+        public IList<IPermissionDefinition> Permissions { get; set; }
+        public IDictionary<string, IPermissionMapping> PermissionMapping { get; set; }
+    }
+
+    public class PermissionDefinition : ExtensionsData, IPermissionDefinition
+    {
+        public string Id { get; set; }
+        public string Description { get; set; }
+    }
+
+    public class PermissionMapping : ExtensionsData, IPermissionMapping
+    {
+        public string Key { get; set; }
+        public IList<string> Permissions { get; set; }
+    }
+
+    public abstract class TypeDefinition : ExtensionsData, ITypeDefinition
+    {
+        private List<IPropertyDefinition> propertyDefintionList = new List<IPropertyDefinition>();
+        private Dictionary<string, IPropertyDefinition> propertyDefintionDict = new Dictionary<string, IPropertyDefinition>();
+
+        public string Id { get; set; }
+        public string LocalName { get; set; }
+        public string LocalNamespace { get; set; }
+        public string DisplayName { get; set; }
+        public string QueryName { get; set; }
+        public string Description { get; set; }
+        public BaseTypeId? BaseTypeId { get; set; }
+        public string ParentTypeId { get; set; }
+        public bool? IsCreatable { get; set; }
+        public bool? IsFileable { get; set; }
+        public bool? IsQueryable { get; set; }
+        public bool? IsFulltextIndexed { get; set; }
+        public bool? IsIncludedInSupertypeQuery { get; set; }
+        public bool? IsControllablePolicy { get; set; }
+        public bool? IsControllableAcl { get; set; }
+        public IPropertyDefinition this[string propertyId]
+        {
+            get
+            {
+                IPropertyDefinition propertyDefinition = null;
+                propertyDefintionDict.TryGetValue(propertyId, out propertyDefinition);
+                return propertyDefinition;
+            }
+        }
+        public IList<IPropertyDefinition> PropertyDefintions
+        {
+            get
+            {
+                return propertyDefintionList;
+            }
+        }
+
+        public void AddPropertyDefinition(IPropertyDefinition propertyDefinition)
+        {
+            if (propertyDefinition == null || propertyDefinition.Id == null)
+            {
+                return;
+            }
+
+            propertyDefintionList.Add(propertyDefinition);
+            propertyDefintionDict[propertyDefinition.Id] = propertyDefinition;
+        }
+    }
+
+    public class DocumentTypeDefinition : TypeDefinition, IDocumentTypeDefinition
+    {
+        public bool? IsVersionable { get; set; }
+        public ContentStreamAllowed? ContentStreamAllowed { get; set; }
+    }
+
+    public class FolderTypeDefinition : TypeDefinition, IFolderTypeDefinition
+    {
+    }
+
+    public class PolicyTypeDefinition : TypeDefinition, IPolicyTypeDefinition
+    {
+    }
+
+    public class RelationshipTypeDefinition : TypeDefinition, IRelationshipTypeDefinition
+    {
+        public IList<string> AllowedSourceTypeIds { get; set; }
+        public IList<string> AllowedTargetTypeIds { get; set; }
+    }
+
+    public class TypeDefinitionList : ExtensionsData, ITypeDefinitionList
+    {
+        public IList<ITypeDefinition> List { get; set; }
+        public bool? HasMoreItems { get; set; }
+        public long? NumItems { get; set; }
+    }
+
+    public class TypeDefinitionContainer : ExtensionsData, ITypeDefinitionContainer
+    {
+        public ITypeDefinition TypeDefinition { get; set; }
+        public IList<ITypeDefinitionContainer> Children { get; set; }
+    }
+
+    public abstract class PropertyDefinition : ExtensionsData, IPropertyDefinition
+    {
+        public string Id { get; set; }
+        public string LocalName { get; set; }
+        public string LocalNamespace { get; set; }
+        public string DisplayName { get; set; }
+        public string QueryName { get; set; }
+        public string Description { get; set; }
+        public PropertyType? PropertyType { get; set; }
+        public Cardinality? Cardinality { get; set; }
+        public Updatability? Updatability { get; set; }
+        public bool? IsInherited { get; set; }
+        public bool? IsRequired { get; set; }
+        public bool? IsQueryable { get; set; }
+        public bool? IsOrderable { get; set; }
+        public bool? IsOpenChoice { get; set; }
+    }
+
+    public class Choice<T> : IChoice<T>
+    {
+        public string DisplayName { get; set; }
+        public IList<T> Value { get; set; }
+        public IList<IChoice<T>> Choices { get; set; }
+    }
+
+    public class PropertyBooleanDefinition : PropertyDefinition, IPropertyBooleanDefinition
+    {
+        public IList<bool> DefaultValue { get; set; }
+        public IList<IChoice<bool>> Choices { get; set; }
+    }
+
+    public class PropertyDateTimeDefinition : PropertyDefinition, IPropertyDateTimeDefinition
+    {
+        public IList<DateTime> DefaultValue { get; set; }
+        public IList<IChoice<DateTime>> Choices { get; set; }
+        public DateTimeResolution? DateTimeResolution { get; set; }
+    }
+
+    public class PropertyDecimalDefinition : PropertyDefinition, IPropertyDecimalDefinition
+    {
+        public IList<decimal> DefaultValue { get; set; }
+        public IList<IChoice<decimal>> Choices { get; set; }
+        public decimal? MinValue { get; set; }
+        public decimal? MaxValue { get; set; }
+        public DecimalPrecision? Precision { get; set; }
+    }
+
+    public class PropertyHtmlDefinition : PropertyDefinition, IPropertyHtmlDefinition
+    {
+        public IList<string> DefaultValue { get; set; }
+        public IList<IChoice<string>> Choices { get; set; }
+    }
+
+    public class PropertyIdDefinition : PropertyDefinition, IPropertyIdDefinition
+    {
+        public IList<string> DefaultValue { get; set; }
+        public IList<IChoice<string>> Choices { get; set; }
+    }
+
+    public class PropertyIntegerDefinition : PropertyDefinition, IPropertyIntegerDefinition
+    {
+        public IList<long> DefaultValue { get; set; }
+        public IList<IChoice<long>> Choices { get; set; }
+        public long? MinValue { get; set; }
+        public long? MaxValue { get; set; }
+    }
+
+    public class PropertyStringDefinition : PropertyDefinition, IPropertyStringDefinition
+    {
+        public IList<string> DefaultValue { get; set; }
+        public IList<IChoice<string>> Choices { get; set; }
+        public long? MaxLength { get; set; }
+    }
+
+    public class PropertyUriDefinition : PropertyDefinition, IPropertyUriDefinition
+    {
+        public IList<string> DefaultValue { get; set; }
+        public IList<IChoice<string>> Choices { get; set; }
+    }
+
+    public class ObjectData : ExtensionsData, IObjectData
+    {
+        public string Id
+        {
+            get
+            {
+                return GetFirstValue(PropertyIds.ObjectId) as string;
+            }
+        }
+        public BaseTypeId? BaseTypeId
+        {
+            get
+            {
+                string baseTypeId = GetFirstValue(PropertyIds.BaseTypeId) as string;
+                if (baseTypeId == null)
+                {
+                    return null;
+                }
+
+                return baseTypeId.GetCmisEnum<BaseTypeId>();
+            }
+        }
+        public IProperties Properties { get; set; }
+        public IAllowableActions AllowableActions { get; set; }
+        public IList<IObjectData> Relationships { get; set; }
+        public IChangeEventInfo ChangeEventInfo { get; set; }
+        public IAcl Acl { get; set; }
+        public bool? IsExactAcl { get; set; }
+        public IPolicyIdList PolicyIds { get; set; }
+        public IList<IRenditionData> Renditions { get; set; }
+
+        private object GetFirstValue(string id)
+        {
+            if (Properties == null) { return null; }
+
+            IPropertyData property = Properties[id];
+            if (property == null)
+            {
+                return null;
+            }
+
+            return property.FirstObject;
+        }
+    }
+
+    public class ObjectList : ExtensionsData, IObjectList
+    {
+        public IList<IObjectData> Objects { get; set; }
+        public bool? HasMoreItems { get; set; }
+        public long? NumItems { get; set; }
+    }
+
+    public class ObjectInFolderData : ExtensionsData, IObjectInFolderData
+    {
+        public IObjectData Object { get; set; }
+        public string PathSegment { get; set; }
+    }
+
+    public class ObjectInFolderList : ExtensionsData, IObjectInFolderList
+    {
+        public IList<IObjectInFolderData> Objects { get; set; }
+        public bool? HasMoreItems { get; set; }
+        public long? NumItems { get; set; }
+    }
+
+    public class ObjectInFolderContainer : ExtensionsData, IObjectInFolderContainer
+    {
+        public IObjectInFolderData Object { get; set; }
+        public IList<IObjectInFolderContainer> Children { get; set; }
+    }
+
+    public class ObjectParentData : ExtensionsData, IObjectParentData
+    {
+        public IObjectData Object { get; set; }
+        public string RelativePathSegment { get; set; }
+    }
+
+    public class Properties : ExtensionsData, IProperties
+    {
+        private List<IPropertyData> propertyList = new List<IPropertyData>();
+        private Dictionary<string, IPropertyData> propertyDict = new Dictionary<string, IPropertyData>();
+
+        public IPropertyData this[string propertyId]
+        {
+            get
+            {
+                IPropertyData property = null;
+                propertyDict.TryGetValue(propertyId, out property);
+                return property;
+            }
+        }
+
+        public IList<IPropertyData> PropertyList
+        {
+            get
+            {
+                return propertyList;
+            }
+        }
+
+        public void AddProperty(IPropertyData property)
+        {
+            if (property == null)
+            {
+                return;
+            }
+
+            propertyList.Add(property);
+
+            if (property.Id != null)
+            {
+                propertyDict[property.Id] = property;
+            }
+        }
+
+        public override string ToString()
+        {
+            StringBuilder sb = new StringBuilder();
+            foreach (IPropertyData prop in propertyList)
+            {
+                if (sb.Length == 0) { sb.Append("["); }
+                else { sb.Append(", "); }
+                sb.Append(prop.ToString());
+            }
+            sb.Append("]");
+
+            return sb.ToString();
+        }
+    }
+
+    public abstract class PropertyData : ExtensionsData, IPropertyData
+    {
+        public string Id { get; set; }
+        public string LocalName { get; set; }
+        public string DisplayName { get; set; }
+        public string QueryName { get; set; }
+
+        public object FirstObject
+        {
+            get
+            {
+                if (this is PropertyBoolean)
+                {
+                    return ((PropertyBoolean)this).FirstValue;
+                }
+                else if (this is PropertyDateTime)
+                {
+                    return ((PropertyDateTime)this).FirstValue;
+                }
+                else if (this is PropertyDecimal)
+                {
+                    return ((PropertyDecimal)this).FirstValue;
+                }
+                else if (this is PropertyHtml)
+                {
+                    return ((PropertyHtml)this).FirstValue;
+                }
+                else if (this is PropertyId)
+                {
+                    return ((PropertyId)this).FirstValue;
+                }
+                else if (this is PropertyInteger)
+                {
+                    return ((PropertyInteger)this).FirstValue;
+                }
+                else if (this is PropertyString)
+                {
+                    return ((PropertyString)this).FirstValue;
+                }
+                else if (this is PropertyUri)
+                {
+                    return ((PropertyUri)this).FirstValue;
+                }
+
+                return null;
+            }
+        }
+
+        public override string ToString()
+        {
+            return Id + ": " + FirstObject;
+        }
+    }
+
+    public class PropertyBoolean : PropertyData, IPropertyBoolean
+    {
+        public IList<bool> Values { get; set; }
+        public bool? FirstValue { get { return Values == null || Values.Count < 1 ? null : (bool?)Values[0]; } }
+    }
+
+    public class PropertyDateTime : PropertyData, IPropertyDateTime
+    {
+        public IList<DateTime> Values { get; set; }
+        public DateTime? FirstValue { get { return Values == null || Values.Count < 1 ? null : (DateTime?)Values[0]; } }
+    }
+
+    public class PropertyDecimal : PropertyData, IPropertyDecimal
+    {
+        public IList<decimal> Values { get; set; }
+        public decimal? FirstValue { get { return Values == null || Values.Count < 1 ? null : (decimal?)Values[0]; } }
+    }
+
+    public class PropertyHtml : PropertyData, IPropertyHtml
+    {
+        public IList<string> Values { get; set; }
+        public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+    }
+
+    public class PropertyId : PropertyData, IPropertyId
+    {
+        public IList<string> Values { get; set; }
+        public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+    }
+
+    public class PropertyInteger : PropertyData, IPropertyInteger
+    {
+        public IList<long> Values { get; set; }
+        public long? FirstValue { get { return Values == null || Values.Count < 1 ? null : (long?)Values[0]; } }
+    }
+
+    public class PropertyString : PropertyData, IPropertyString
+    {
+        public IList<string> Values { get; set; }
+        public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+    }
+
+    public class PropertyUri : PropertyData, IPropertyUri
+    {
+        public IList<string> Values { get; set; }
+        public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+    }
+
+    public class Principal : ExtensionsData, IPrincipal
+    {
+        public string Id { get; set; }
+    }
+
+    public class Ace : ExtensionsData, IAce
+    {
+        public IPrincipal Principal { get; set; }
+        public string PrincipalId { get { return Principal == null ? null : Principal.Id; } }
+        public IList<string> Permissions { get; set; }
+        public bool IsDirect { get; set; }
+    }
+
+    public class Acl : ExtensionsData, IAcl
+    {
+        public IList<IAce> Aces { get; set; }
+        public bool? IsExact { get; set; }
+    }
+
+    public class ContentStream : ExtensionsData, IContentStream
+    {
+        public long? Length { get; set; }
+        public string MimeType { get; set; }
+        public string FileName { get; set; }
+        public Stream Stream { get; set; }
+    }
+
+    public class AllowableActions : ExtensionsData, IAllowableActions
+    {
+        public HashSet<string> Actions { get; set; }
+    }
+
+    public class RenditionData : ExtensionsData, IRenditionData
+    {
+        public string StreamId { get; set; }
+        public string MimeType { get; set; }
+        public long? Length { get; set; }
+        public string Kind { get; set; }
+        public string Title { get; set; }
+        public long? Height { get; set; }
+        public long? Width { get; set; }
+        public string RenditionDocumentId { get; set; }
+    }
+
+    public class ChangeEventInfo : ExtensionsData, IChangeEventInfo
+    {
+        public ChangeType ChangeType { get; set; }
+        public DateTime ChangeTime { get; set; }
+    }
+
+    public class PolicyIdList : ExtensionsData, IPolicyIdList
+    {
+        public IList<string> PolicyIds { get; set; }
+    }
+
+    public class FailedToDeleteData : ExtensionsData, IFailedToDeleteData
+    {
+        public IList<string> Ids { get; set; }
+    }
+}

Added: incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-intf.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-intf.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-intf.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/data/data-intf.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,388 @@
+/*
+ * 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.
+ */
+using System.Collections.Generic;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Enums;
+using System.IO;
+using System;
+using System.Collections;
+
+namespace DotCMIS.Data
+{
+    public interface IRepositoryInfo : IExtensionsData
+    {
+        string Id { get; }
+        string Name { get; }
+        string Description { get; }
+        string VendorName { get; }
+        string ProductName { get; }
+        string ProductVersion { get; }
+        string RootFolderId { get; }
+        IRepositoryCapabilities Capabilities { get; }
+        IAclCapabilities AclCapabilities { get; }
+        string LatestChangeLogToken { get; }
+        string CmisVersionSupported { get; }
+        string ThinClientUri { get; }
+        bool? ChangesIncomplete { get; }
+        IList<BaseTypeId?> ChangesOnType { get; }
+        string PrincipalIdAnonymous { get; }
+        string PrincipalIdAnyone { get; }
+    }
+
+    public interface IRepositoryCapabilities : IExtensionsData
+    {
+        CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; }
+        CapabilityChanges? ChangesCapability { get; }
+        CapabilityRenditions? RenditionsCapability { get; }
+        bool? IsGetDescendantsSupported { get; }
+        bool? IsGetFolderTreeSupported { get; }
+        bool? IsMultifilingSupported { get; }
+        bool? IsUnfilingSupported { get; }
+        bool? IsVersionSpecificFilingSupported { get; }
+        bool? IsPwcSearchableSupported { get; }
+        bool? IsPwcUpdatableSupported { get; }
+        bool? IsAllVersionsSearchableSupported { get; }
+        CapabilityQuery? QueryCapability { get; }
+        CapabilityJoin? JoinCapability { get; }
+        CapabilityAcl? AclCapability { get; }
+    }
+
+    public interface IAclCapabilities : IExtensionsData
+    {
+        SupportedPermissions? SupportedPermissions { get; }
+        AclPropagation? AclPropagation { get; }
+        IList<IPermissionDefinition> Permissions { get; }
+        IDictionary<string, IPermissionMapping> PermissionMapping { get; }
+    }
+
+    public interface IPermissionDefinition : IExtensionsData
+    {
+        string Id { get; }
+        string Description { get; }
+    }
+
+    public interface IPermissionMapping : IExtensionsData
+    {
+        string Key { get; }
+        IList<string> Permissions { get; }
+    }
+
+    public interface ITypeDefinition : IExtensionsData
+    {
+        string Id { get; }
+        string LocalName { get; }
+        string LocalNamespace { get; }
+        string DisplayName { get; }
+        string QueryName { get; }
+        string Description { get; }
+        BaseTypeId? BaseTypeId { get; }
+        string ParentTypeId { get; }
+        bool? IsCreatable { get; }
+        bool? IsFileable { get; }
+        bool? IsQueryable { get; }
+        bool? IsFulltextIndexed { get; }
+        bool? IsIncludedInSupertypeQuery { get; }
+        bool? IsControllablePolicy { get; }
+        bool? IsControllableAcl { get; }
+        IPropertyDefinition this[string propertyId] { get; }
+        IList<IPropertyDefinition> PropertyDefintions { get; }
+    }
+
+    public interface IDocumentTypeDefinition : ITypeDefinition
+    {
+        bool? IsVersionable { get; }
+        ContentStreamAllowed? ContentStreamAllowed { get; }
+    }
+
+    public interface IFolderTypeDefinition : ITypeDefinition
+    {
+    }
+
+    public interface IPolicyTypeDefinition : ITypeDefinition
+    {
+    }
+
+    public interface IRelationshipTypeDefinition : ITypeDefinition
+    {
+        IList<string> AllowedSourceTypeIds { get; }
+        IList<string> AllowedTargetTypeIds { get; }
+    }
+
+    public interface ITypeDefinitionList : IExtensionsData
+    {
+        IList<ITypeDefinition> List { get; }
+        bool? HasMoreItems { get; }
+        long? NumItems { get; }
+    }
+
+    public interface ITypeDefinitionContainer : IExtensionsData
+    {
+        ITypeDefinition TypeDefinition { get; }
+        IList<ITypeDefinitionContainer> Children { get; }
+    }
+
+    public interface IPropertyDefinition : IExtensionsData
+    {
+        string Id { get; }
+        string LocalName { get; }
+        string LocalNamespace { get; }
+        string DisplayName { get; }
+        string QueryName { get; }
+        string Description { get; }
+        PropertyType? PropertyType { get; }
+        Cardinality? Cardinality { get; }
+        Updatability? Updatability { get; }
+        bool? IsInherited { get; }
+        bool? IsRequired { get; }
+        bool? IsQueryable { get; }
+        bool? IsOrderable { get; }
+        bool? IsOpenChoice { get; }
+    }
+
+    public interface IChoice<T>
+    {
+        string DisplayName { get; }
+        IList<T> Value { get; }
+        IList<IChoice<T>> Choices { get; }
+    }
+
+    public interface IPropertyBooleanDefinition : IPropertyDefinition
+    {
+        IList<bool> DefaultValue { get; }
+        IList<IChoice<bool>> Choices { get; }
+    }
+
+    public interface IPropertyDateTimeDefinition : IPropertyDefinition
+    {
+        IList<DateTime> DefaultValue { get; }
+        IList<IChoice<DateTime>> Choices { get; }
+        DateTimeResolution? DateTimeResolution { get; }
+    }
+
+    public interface IPropertyDecimalDefinition : IPropertyDefinition
+    {
+        IList<decimal> DefaultValue { get; }
+        IList<IChoice<decimal>> Choices { get; }
+        decimal? MinValue { get; }
+        decimal? MaxValue { get; }
+        DecimalPrecision? Precision { get; }
+    }
+
+    public interface IPropertyHtmlDefinition : IPropertyDefinition
+    {
+        IList<string> DefaultValue { get; }
+        IList<IChoice<string>> Choices { get; }
+    }
+
+    public interface IPropertyIdDefinition : IPropertyDefinition
+    {
+        IList<string> DefaultValue { get; }
+        IList<IChoice<string>> Choices { get; }
+    }
+
+    public interface IPropertyIntegerDefinition : IPropertyDefinition
+    {
+        IList<long> DefaultValue { get; }
+        IList<IChoice<long>> Choices { get; }
+        long? MinValue { get; }
+        long? MaxValue { get; }
+    }
+
+    public interface IPropertyStringDefinition : IPropertyDefinition
+    {
+        IList<string> DefaultValue { get; }
+        IList<IChoice<string>> Choices { get; }
+        long? MaxLength { get; }
+    }
+
+    public interface IPropertyUriDefinition : IPropertyDefinition
+    {
+        IList<string> DefaultValue { get; }
+        IList<IChoice<string>> Choices { get; }
+    }
+
+    public interface IObjectData : IExtensionsData
+    {
+        string Id { get; }
+        BaseTypeId? BaseTypeId { get; }
+        IProperties Properties { get; }
+        IAllowableActions AllowableActions { get; }
+        IList<IObjectData> Relationships { get; }
+        IChangeEventInfo ChangeEventInfo { get; }
+        IAcl Acl { get; }
+        bool? IsExactAcl { get; }
+        IPolicyIdList PolicyIds { get; }
+        IList<IRenditionData> Renditions { get; }
+    }
+
+    public interface IObjectList : IExtensionsData
+    {
+        IList<IObjectData> Objects { get; }
+        bool? HasMoreItems { get; }
+        long? NumItems { get; }
+    }
+
+    public interface IObjectInFolderData : IExtensionsData
+    {
+        IObjectData Object { get; }
+        string PathSegment { get; }
+    }
+
+    public interface IObjectInFolderList : IExtensionsData
+    {
+        IList<IObjectInFolderData> Objects { get; }
+        bool? HasMoreItems { get; }
+        long? NumItems { get; }
+    }
+
+    public interface IObjectInFolderContainer : IExtensionsData
+    {
+        IObjectInFolderData Object { get; }
+        IList<IObjectInFolderContainer> Children { get; }
+    }
+
+    public interface IObjectParentData : IExtensionsData
+    {
+        IObjectData Object { get; }
+        string RelativePathSegment { get; }
+    }
+
+    public interface IProperties : IExtensionsData
+    {
+        IPropertyData this[string propertyId] { get; }
+        IList<IPropertyData> PropertyList { get; }
+    }
+
+    public interface IPropertyData : IExtensionsData
+    {
+        string Id { get; }
+        string LocalName { get; }
+        string DisplayName { get; }
+        string QueryName { get; }
+        object FirstObject { get; }
+    }
+
+    public interface IPropertyBoolean : IPropertyData
+    {
+        IList<bool> Values { get; }
+        bool? FirstValue { get; }
+    }
+
+    public interface IPropertyDateTime : IPropertyData
+    {
+        IList<DateTime> Values { get; }
+        DateTime? FirstValue { get; }
+    }
+
+    public interface IPropertyDecimal : IPropertyData
+    {
+        IList<decimal> Values { get; }
+        decimal? FirstValue { get; }
+    }
+
+    public interface IPropertyHtml : IPropertyData
+    {
+        IList<string> Values { get; }
+        string FirstValue { get; }
+    }
+
+    public interface IPropertyId : IPropertyData
+    {
+        IList<string> Values { get; }
+        string FirstValue { get; }
+    }
+
+    public interface IPropertyInteger : IPropertyData
+    {
+        IList<long> Values { get; }
+        long? FirstValue { get; }
+    }
+
+    public interface IPropertyString : IPropertyData
+    {
+        IList<string> Values { get; }
+        string FirstValue { get; }
+    }
+
+    public interface IPropertyUri : IPropertyData
+    {
+        IList<string> Values { get; }
+        string FirstValue { get; }
+    }
+
+    public interface IPrincipal : IExtensionsData
+    {
+        string Id { get; }
+    }
+
+    public interface IAce : IExtensionsData
+    {
+        IPrincipal Principal { get; }
+        string PrincipalId { get; }
+        IList<string> Permissions { get; }
+        bool IsDirect { get; }
+    }
+
+    public interface IAcl : IExtensionsData
+    {
+        IList<IAce> Aces { get; }
+        bool? IsExact { get; }
+    }
+
+    public interface IContentStream : IExtensionsData
+    {
+        long? Length { get; }
+        string MimeType { get; }
+        string FileName { get; }
+        Stream Stream { get; }
+    }
+
+    public interface IAllowableActions : IExtensionsData
+    {
+        HashSet<string> Actions { get; }
+    }
+
+    public interface IRenditionData : IExtensionsData
+    {
+        string StreamId { get; }
+        string MimeType { get; }
+        long? Length { get; }
+        string Kind { get; }
+        string Title { get; }
+        long? Height { get; }
+        long? Width { get; }
+        string RenditionDocumentId { get; }
+    }
+
+    public interface IChangeEventInfo : IExtensionsData
+    {
+        ChangeType ChangeType { get; }
+        DateTime ChangeTime { get; }
+    }
+
+    public interface IPolicyIdList : IExtensionsData
+    {
+        IList<string> PolicyIds { get; }
+    }
+
+    public interface IFailedToDeleteData : IExtensionsData
+    {
+        IList<string> Ids { get; }
+    }
+}

Added: incubator/chemistry/dotcmis/trunk/DotCMIS/data/extensions.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/data/extensions.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/data/extensions.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/data/extensions.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS.Data.Extensions
+{
+    public interface ICmisExtensionElement
+    {
+        string Name { get; }
+
+        string Namespace { get; }
+
+        string Value { get; }
+
+        IDictionary<string, string> Attributes { get; }
+
+        IList<ICmisExtensionElement> Children { get; }
+    }
+
+    public class CmisExtensionElement :ICmisExtensionElement
+    {
+        public string Name { get; set; }
+
+        public string Namespace { get; set; }
+
+        public string Value { get; set; }
+
+        public IDictionary<string, string> Attributes { get; set; }
+
+        public IList<ICmisExtensionElement> Children { get; set;}
+    }
+
+    public interface IExtensionsData
+    {
+        IList<ICmisExtensionElement> Extensions { get; set; }
+    }
+
+    public class ExtensionsData : IExtensionsData
+    {
+        public IList<ICmisExtensionElement> Extensions { get; set; }
+    }
+}

Added: incubator/chemistry/dotcmis/trunk/DotCMIS/enums.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/enums.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/enums.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/enums.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,454 @@
+/*
+ * 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.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Reflection;
+using DotCMIS.CMISWebServicesReference;
+using System.Xml.Serialization;
+
+namespace DotCMIS.Enums
+{
+    public enum BaseTypeId
+    {
+        [CmisValue("cmis:document")]
+        CmisDocument,
+
+        [CmisValue("cmis:folder")]
+        CmisFolder,
+
+        [CmisValue("cmis:relationship")]
+        CmisRelationship,
+
+        [CmisValue("cmis:policy")]
+        CmisPolicy
+    }
+
+    public enum CapabilityContentStreamUpdates
+    {
+        [CmisValue("anytime")]
+        Anyime,
+
+        [CmisValue("pwconly")]
+        PWCOnly,
+
+        [CmisValue("none")]
+        None
+    }
+
+    public enum CapabilityChanges
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("objectidsonly")]
+        ObjectIdsOnly,
+
+        [CmisValue("properties")]
+        Properties,
+
+        [CmisValue("all")]
+        All
+    }
+
+    public enum CapabilityRenditions
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("read")]
+        Read
+    }
+
+    public enum CapabilityQuery
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("metadataonly")]
+        MetadataOnly,
+
+        [CmisValue("fulltextonly")]
+        FulltextOnly,
+
+        [CmisValue("bothseparate")]
+        BothSeparate,
+
+        [CmisValue("bothcombined")]
+        BothCombined
+    }
+
+    public enum CapabilityJoin
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("inneronly")]
+        InnerOnly,
+
+        [CmisValue("innerandouter")]
+        InnerAndOuter
+    }
+
+    public enum CapabilityAcl
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("discover")]
+        Discover,
+
+        [CmisValue("manage")]
+        Manage
+    }
+
+    public enum SupportedPermissions
+    {
+        [CmisValue("basic")]
+        Basic,
+
+        [CmisValue("repository")]
+        Repository,
+
+        [CmisValue("both")]
+        Both
+    }
+
+    public enum AclPropagation
+    {
+        [CmisValue("repositorydetermined")]
+        RepositoryDetermined,
+
+        [CmisValue("objectonly")]
+        ObjectOnly,
+
+        [CmisValue("propagate")]
+        Propagate
+    }
+
+    public enum ContentStreamAllowed
+    {
+        [CmisValue("notallowed")]
+        NotAllowed,
+
+        [CmisValue("allowed")]
+        Allowed,
+
+        [CmisValue("required")]
+        Required
+    }
+
+    public enum PropertyType
+    {
+        [CmisValue("boolean")]
+        Boolean,
+
+        [CmisValue("id")]
+        Id,
+
+        [CmisValue("integer")]
+        Integer,
+
+        [CmisValue("datetime")]
+        DateTime,
+
+        [CmisValue("decimal")]
+        Decimal,
+
+        [CmisValue("html")]
+        Html,
+
+        [CmisValue("string")]
+        String,
+
+        [CmisValue("uri")]
+        Uri
+    }
+
+    public enum Cardinality
+    {
+        [CmisValue("single")]
+        Single,
+
+        [CmisValue("multi")]
+        Multi
+    }
+
+    public enum Updatability
+    {
+        [CmisValue("readonly")]
+        ReadOnly,
+
+        [CmisValue("readwrite")]
+        ReadWrite,
+
+        [CmisValue("whencheckedout")]
+        WhenCheckedOut,
+
+        [CmisValue("oncreate")]
+        OnCreate
+    }
+
+    public enum DateTimeResolution
+    {
+        [CmisValue("year")]
+        Year,
+
+        [CmisValue("date")]
+        Date,
+
+        [CmisValue("time")]
+        Time
+    }
+
+    public enum DecimalPrecision
+    {
+        [CmisValue("32")]
+        Bits32,
+
+        [CmisValue("64")]
+        Bits64
+    }
+
+    public enum IncludeRelationships
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("source")]
+        Source,
+
+        [CmisValue("target")]
+        Target,
+
+        [CmisValue("both")]
+        Both
+    }
+
+    public enum VersioningState
+    {
+        [CmisValue("none")]
+        None,
+
+        [CmisValue("major")]
+        Major,
+
+        [CmisValue("minor")]
+        Minor,
+
+        [CmisValue("checkedout")]
+        CheckedOut
+    }
+
+    public enum UnfileObject
+    {
+        [CmisValue("unfile")]
+        Unfile,
+
+        [CmisValue("deletesinglefiled")]
+        DeleteSinglefiled,
+
+        [CmisValue("delete")]
+        Delete
+    }
+
+    public enum RelationshipDirection
+    {
+        [CmisValue("source")]
+        Source,
+
+        [CmisValue("target")]
+        Target,
+
+        [CmisValue("either")]
+        Either
+    }
+
+    public enum ReturnVersion
+    {
+        [CmisValue("this")]
+        This,
+
+        [CmisValue("latest")]
+        Latest,
+
+        [CmisValue("latestmajor")]
+        LatestMajor
+    }
+
+    public enum ChangeType
+    {
+        [CmisValue("created")]
+        Created,
+
+        [CmisValue("updated")]
+        Updated,
+
+        [CmisValue("deleted")]
+        Deleted,
+
+        [CmisValue("security")]
+        Security
+    }
+
+    // --- attribute class ---
+
+    public class CmisValueAttribute : System.Attribute
+    {
+        public CmisValueAttribute(string value)
+        {
+            Value = value;
+        }
+
+        public string Value
+        {
+            get;
+            private set;
+        }
+    }
+
+    public static class CmisValue
+    {
+        private static IDictionary<Type, IDictionary<Enum, Enum>> CmisToSerializerDict = new Dictionary<Type, IDictionary<Enum, Enum>>();
+        private static IDictionary<Type, IDictionary<Enum, Enum>> SerializerToCmisDict = new Dictionary<Type, IDictionary<Enum, Enum>>();
+
+        static CmisValue()
+        {
+            MapEnums(typeof(BaseTypeId), typeof(enumBaseObjectTypeIds));
+            MapEnums(typeof(CapabilityContentStreamUpdates), typeof(enumCapabilityContentStreamUpdates));
+            MapEnums(typeof(CapabilityChanges), typeof(enumCapabilityChanges));
+            MapEnums(typeof(CapabilityRenditions), typeof(enumCapabilityRendition));
+            MapEnums(typeof(CapabilityQuery), typeof(enumCapabilityQuery));
+            MapEnums(typeof(CapabilityJoin), typeof(enumCapabilityJoin));
+            MapEnums(typeof(CapabilityAcl), typeof(enumCapabilityACL));
+            MapEnums(typeof(SupportedPermissions), typeof(enumSupportedPermissions));
+            MapEnums(typeof(AclPropagation), typeof(enumACLPropagation));
+            MapEnums(typeof(ContentStreamAllowed), typeof(enumContentStreamAllowed));
+            MapEnums(typeof(PropertyType), typeof(enumPropertyType));
+            MapEnums(typeof(Cardinality), typeof(enumCardinality));
+            MapEnums(typeof(Updatability), typeof(enumUpdatability));
+            MapEnums(typeof(DateTimeResolution), typeof(enumDateTimeResolution));
+            MapEnums(typeof(DecimalPrecision), typeof(enumDecimalPrecision));
+            MapEnums(typeof(IncludeRelationships), typeof(enumIncludeRelationships));
+            MapEnums(typeof(ChangeType), typeof(enumTypeOfChanges));
+        }
+
+        private static void MapEnums(Type cmisEnum, Type xsdEnum)
+        {
+            IDictionary<Enum, Enum> cmisDict = new Dictionary<Enum, Enum>();
+            CmisToSerializerDict[cmisEnum] = cmisDict;
+
+            IDictionary<Enum, Enum> xsdDict = new Dictionary<Enum, Enum>();
+            SerializerToCmisDict[xsdEnum] = xsdDict;
+
+            foreach (FieldInfo xsdfieldInfo in xsdEnum.GetFields())
+            {
+                Enum xsdEnumValue = null;
+
+                try
+                {
+                    xsdEnumValue = (Enum)Enum.Parse(xsdEnum, xsdfieldInfo.Name);
+                }
+                catch (Exception)
+                {
+                    continue;
+                }
+
+                XmlEnumAttribute[] xmlAttr = xsdfieldInfo.GetCustomAttributes(typeof(XmlEnumAttribute), false) as XmlEnumAttribute[];
+                string value = xmlAttr.Length == 0 ? value = xsdfieldInfo.Name : value = xmlAttr[0].Name;
+
+                foreach (FieldInfo cmisfieldInfo in cmisEnum.GetFields())
+                {
+                    CmisValueAttribute[] cmisValueAttr = cmisfieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+                    if (cmisValueAttr != null && cmisValueAttr.Length > 0 && cmisValueAttr[0].Value == value)
+                    {
+                        Enum cmisEnumValue = (Enum)Enum.Parse(cmisEnum, cmisfieldInfo.Name);
+                        cmisDict[cmisEnumValue] = xsdEnumValue;
+                        xsdDict[xsdEnumValue] = cmisEnumValue;
+                        break;
+                    }
+                }
+            }
+        }
+
+        public static Enum CmisToSerializerEnum(Enum source)
+        {
+            if (source == null) { return null; }
+
+            Enum result = null;
+
+            IDictionary<Enum, Enum> dict;
+            if (CmisToSerializerDict.TryGetValue(source.GetType(), out dict))
+            {
+                dict.TryGetValue(source, out result);
+            }
+
+            if (result == null)
+            {
+                Console.WriteLine("*** " + source);
+            }
+
+            return result;
+        }
+
+        public static Enum SerializerToCmisEnum(Enum source)
+        {
+            if (source == null) { return null; }
+
+            Enum result = null;
+
+            IDictionary<Enum, Enum> dict;
+            if (SerializerToCmisDict.TryGetValue(source.GetType(), out dict))
+            {
+                dict.TryGetValue(source, out result);
+            }
+
+            if (result == null)
+            {
+                Console.WriteLine("*** " + source);
+            }
+
+            return result;
+        }
+
+        public static string GetCmisValue(this Enum value)
+        {
+            FieldInfo fieldInfo = value.GetType().GetField(value.ToString());
+            CmisValueAttribute[] cmisValueAttr = fieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+
+            return cmisValueAttr.Length > 0 ? cmisValueAttr[0].Value : null;
+        }
+
+        public static T GetCmisEnum<T>(this string value)
+        {
+            Type type = typeof(T);
+            foreach (FieldInfo fieldInfo in type.GetFields())
+            {
+                CmisValueAttribute[] cmisValueAttr = fieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+                if (cmisValueAttr != null && cmisValueAttr.Length > 0 && cmisValueAttr[0].Value == value)
+                {
+                    return (T)Enum.Parse(type, fieldInfo.Name);
+                }
+            }
+
+            return default(T);
+        }
+    }
+}

Added: incubator/chemistry/dotcmis/trunk/DotCMIS/exceptions.cs
URL: http://svn.apache.org/viewvc/incubator/chemistry/dotcmis/trunk/DotCMIS/exceptions.cs?rev=1061233&view=auto
==============================================================================
--- incubator/chemistry/dotcmis/trunk/DotCMIS/exceptions.cs (added)
+++ incubator/chemistry/dotcmis/trunk/DotCMIS/exceptions.cs Thu Jan 20 11:38:48 2011
@@ -0,0 +1,310 @@
+/*
+ * 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.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS.Exceptions
+{
+    [Serializable]
+    public class CmisBaseException : ApplicationException
+    {
+        public CmisBaseException() { Code = null; }
+        public CmisBaseException(string message) : base(message) { Code = null; }
+        public CmisBaseException(string message, Exception inner) : base(message, inner) { Code = null; }
+        protected CmisBaseException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+
+        public CmisBaseException(string message, long? code)
+            : this(message)
+        {
+            Code = code;
+        }
+
+        public CmisBaseException(string message, string errorContent)
+            : this(message)
+        {
+            ErrorContent = errorContent;
+        }
+
+        public CmisBaseException(string message, string errorContent, Exception inner)
+            : this(message, inner)
+        {
+            ErrorContent = errorContent;
+        }
+
+        public long? Code { get; protected set; }
+        public string ErrorContent { get; protected set; }
+    }
+
+    [Serializable]
+    public class CmisConnectionException : CmisBaseException
+    {
+        public CmisConnectionException() : base() { }
+        public CmisConnectionException(string message) : base(message) { }
+        public CmisConnectionException(string message, Exception inner) : base(message, inner) { }
+        protected CmisConnectionException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisConnectionException(string message, long? code)
+            : base(message) { }
+        public CmisConnectionException(string message, string errorContent)
+            : base(message) { }
+        public CmisConnectionException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisConstraintException : CmisBaseException
+    {
+        public CmisConstraintException() : base() { }
+        public CmisConstraintException(string message) : base(message) { }
+        public CmisConstraintException(string message, Exception inner) : base(message, inner) { }
+        protected CmisConstraintException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisConstraintException(string message, long? code)
+            : base(message) { }
+        public CmisConstraintException(string message, string errorContent)
+            : base(message) { }
+        public CmisConstraintException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisContentAlreadyExistsException : CmisBaseException
+    {
+        public CmisContentAlreadyExistsException() : base() { }
+        public CmisContentAlreadyExistsException(string message) : base(message) { }
+        public CmisContentAlreadyExistsException(string message, Exception inner) : base(message, inner) { }
+        protected CmisContentAlreadyExistsException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisContentAlreadyExistsException(string message, long? code)
+            : base(message) { }
+        public CmisContentAlreadyExistsException(string message, string errorContent)
+            : base(message) { }
+        public CmisContentAlreadyExistsException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisFilterNotValidException : CmisBaseException
+    {
+        public CmisFilterNotValidException() : base() { }
+        public CmisFilterNotValidException(string message) : base(message) { }
+        public CmisFilterNotValidException(string message, Exception inner) : base(message, inner) { }
+        protected CmisFilterNotValidException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisFilterNotValidException(string message, long? code)
+            : base(message) { }
+        public CmisFilterNotValidException(string message, string errorContent)
+            : base(message) { }
+        public CmisFilterNotValidException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisInvalidArgumentException : CmisBaseException
+    {
+        public CmisInvalidArgumentException() : base() { }
+        public CmisInvalidArgumentException(string message) : base(message) { }
+        public CmisInvalidArgumentException(string message, Exception inner) : base(message, inner) { }
+        protected CmisInvalidArgumentException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisInvalidArgumentException(string message, long? code)
+            : base(message) { }
+        public CmisInvalidArgumentException(string message, string errorContent)
+            : base(message) { }
+        public CmisInvalidArgumentException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisNameConstraintViolationException : CmisBaseException
+    {
+        public CmisNameConstraintViolationException() : base() { }
+        public CmisNameConstraintViolationException(string message) : base(message) { }
+        public CmisNameConstraintViolationException(string message, Exception inner) : base(message, inner) { }
+        protected CmisNameConstraintViolationException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisNameConstraintViolationException(string message, long? code)
+            : base(message) { }
+        public CmisNameConstraintViolationException(string message, string errorContent)
+            : base(message) { }
+        public CmisNameConstraintViolationException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisNotSupportedException : CmisBaseException
+    {
+        public CmisNotSupportedException() : base() { }
+        public CmisNotSupportedException(string message) : base(message) { }
+        public CmisNotSupportedException(string message, Exception inner) : base(message, inner) { }
+        protected CmisNotSupportedException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisNotSupportedException(string message, long? code)
+            : base(message) { }
+        public CmisNotSupportedException(string message, string errorContent)
+            : base(message) { }
+        public CmisNotSupportedException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisObjectNotFoundException : CmisBaseException
+    {
+        public CmisObjectNotFoundException() : base() { }
+        public CmisObjectNotFoundException(string message) : base(message) { }
+        public CmisObjectNotFoundException(string message, Exception inner) : base(message, inner) { }
+        protected CmisObjectNotFoundException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisObjectNotFoundException(string message, long? code)
+            : base(message) { }
+        public CmisObjectNotFoundException(string message, string errorContent)
+            : base(message) { }
+        public CmisObjectNotFoundException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisPermissionDeniedException : CmisBaseException
+    {
+        public CmisPermissionDeniedException() : base() { }
+        public CmisPermissionDeniedException(string message) : base(message) { }
+        public CmisPermissionDeniedException(string message, Exception inner) : base(message, inner) { }
+        protected CmisPermissionDeniedException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisPermissionDeniedException(string message, long? code)
+            : base(message) { }
+        public CmisPermissionDeniedException(string message, string errorContent)
+            : base(message) { }
+        public CmisPermissionDeniedException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisRuntimeException : CmisBaseException
+    {
+        public CmisRuntimeException() : base() { }
+        public CmisRuntimeException(string message) : base(message) { }
+        public CmisRuntimeException(string message, Exception inner) : base(message, inner) { }
+        protected CmisRuntimeException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisRuntimeException(string message, long? code)
+            : base(message) { }
+        public CmisRuntimeException(string message, string errorContent)
+            : base(message) { }
+        public CmisRuntimeException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisStorageException : CmisBaseException
+    {
+        public CmisStorageException() : base() { }
+        public CmisStorageException(string message) : base(message) { }
+        public CmisStorageException(string message, Exception inner) : base(message, inner) { }
+        protected CmisStorageException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisStorageException(string message, long? code)
+            : base(message) { }
+        public CmisStorageException(string message, string errorContent)
+            : base(message) { }
+        public CmisStorageException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisStreamNotSupportedException : CmisBaseException
+    {
+        public CmisStreamNotSupportedException() : base() { }
+        public CmisStreamNotSupportedException(string message) : base(message) { }
+        public CmisStreamNotSupportedException(string message, Exception inner) : base(message, inner) { }
+        protected CmisStreamNotSupportedException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisStreamNotSupportedException(string message, long? code)
+            : base(message) { }
+        public CmisStreamNotSupportedException(string message, string errorContent)
+            : base(message) { }
+        public CmisStreamNotSupportedException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisUpdateConflictException : CmisBaseException
+    {
+        public CmisUpdateConflictException() : base() { }
+        public CmisUpdateConflictException(string message) : base(message) { }
+        public CmisUpdateConflictException(string message, Exception inner) : base(message, inner) { }
+        protected CmisUpdateConflictException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisUpdateConflictException(string message, long? code)
+            : base(message) { }
+        public CmisUpdateConflictException(string message, string errorContent)
+            : base(message) { }
+        public CmisUpdateConflictException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+
+    [Serializable]
+    public class CmisVersioningException : CmisBaseException
+    {
+        public CmisVersioningException() : base() { }
+        public CmisVersioningException(string message) : base(message) { }
+        public CmisVersioningException(string message, Exception inner) : base(message, inner) { }
+        protected CmisVersioningException(
+          System.Runtime.Serialization.SerializationInfo info,
+          System.Runtime.Serialization.StreamingContext context)
+            : base(info, context) { }
+        public CmisVersioningException(string message, long? code)
+            : base(message) { }
+        public CmisVersioningException(string message, string errorContent)
+            : base(message) { }
+        public CmisVersioningException(string message, string errorContent, Exception inner)
+            : base(message, errorContent, inner) { }
+    }
+}



Mime
View raw message