/* * 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. */ package org.apache.chemistry.opencmis.commons.impl.dataobjects; import org.apache.chemistry.opencmis.commons.data.CreatablePropertyTypes; import org.apache.chemistry.opencmis.commons.data.NewTypeSettableAttributes; import org.apache.chemistry.opencmis.commons.data.RepositoryCapabilities; import org.apache.chemistry.opencmis.commons.enums.CapabilityAcl; import org.apache.chemistry.opencmis.commons.enums.CapabilityChanges; import org.apache.chemistry.opencmis.commons.enums.CapabilityContentStreamUpdates; import org.apache.chemistry.opencmis.commons.enums.CapabilityJoin; import org.apache.chemistry.opencmis.commons.enums.CapabilityOrderBy; import org.apache.chemistry.opencmis.commons.enums.CapabilityQuery; import org.apache.chemistry.opencmis.commons.enums.CapabilityRenditions; /** * RepositoryCapabilities Implementation. */ public class RepositoryCapabilitiesImpl extends AbstractExtensionData implements RepositoryCapabilities { private static final long serialVersionUID = 2L; private Boolean allVersionsSearchable; private CapabilityAcl capabilityAcl; private CapabilityChanges capabilityChanges; private CapabilityContentStreamUpdates capabilityContentStreamUpdates; private CapabilityJoin capabilityJoin; private CapabilityQuery capabilityQuery; private CapabilityRenditions capabilityRendition; private Boolean isPwcSearchable; private Boolean isPwcUpdatable; private Boolean supportsGetDescendants; private Boolean supportsGetFolderTree; private CapabilityOrderBy capabilityOrderBy; private Boolean supportsMultifiling; private Boolean supportsUnfiling; private Boolean supportsVersionSpecificFiling; private CreatablePropertyTypes creatablePropertyTypes; private NewTypeSettableAttributes newTypeSettableAttributes; /** * Constructor. */ public RepositoryCapabilitiesImpl() { } public RepositoryCapabilitiesImpl(RepositoryCapabilities data) { allVersionsSearchable = data.isAllVersionsSearchableSupported(); capabilityAcl = data.getAclCapability(); capabilityChanges = data.getChangesCapability(); capabilityContentStreamUpdates = data.getContentStreamUpdatesCapability(); capabilityJoin = data.getJoinCapability(); capabilityQuery = data.getQueryCapability(); capabilityRendition = data.getRenditionsCapability(); isPwcSearchable = data.isPwcSearchableSupported(); isPwcUpdatable = data.isPwcUpdatableSupported(); supportsGetDescendants = data.isGetDescendantsSupported(); supportsGetFolderTree = data.isGetFolderTreeSupported(); capabilityOrderBy = data.getOrderByCapability(); supportsMultifiling = data.isMultifilingSupported(); supportsUnfiling = data.isUnfilingSupported(); supportsVersionSpecificFiling = data.isVersionSpecificFilingSupported(); creatablePropertyTypes = data.getCreatablePropertyTypes(); newTypeSettableAttributes = data.getNewTypeSettableAttributes(); setExtensions(data.getExtensions()); } @Override public Boolean isAllVersionsSearchableSupported() { return allVersionsSearchable; } public void setAllVersionsSearchable(Boolean allVersionsSearchable) { this.allVersionsSearchable = allVersionsSearchable; } @Override public CapabilityAcl getAclCapability() { return capabilityAcl; } public void setCapabilityAcl(CapabilityAcl capabilityAcl) { this.capabilityAcl = capabilityAcl; } @Override public CapabilityChanges getChangesCapability() { return capabilityChanges; } public void setCapabilityChanges(CapabilityChanges capabilityChanges) { this.capabilityChanges = capabilityChanges; } @Override public CapabilityContentStreamUpdates getContentStreamUpdatesCapability() { return capabilityContentStreamUpdates; } public void setCapabilityContentStreamUpdates(CapabilityContentStreamUpdates capabilityContentStreamUpdates) { this.capabilityContentStreamUpdates = capabilityContentStreamUpdates; } @Override public CapabilityJoin getJoinCapability() { return capabilityJoin; } public void setCapabilityJoin(CapabilityJoin capabilityJoin) { this.capabilityJoin = capabilityJoin; } @Override public CapabilityQuery getQueryCapability() { return capabilityQuery; } public void setCapabilityQuery(CapabilityQuery capabilityQuery) { this.capabilityQuery = capabilityQuery; } @Override public CapabilityRenditions getRenditionsCapability() { return capabilityRendition; } public void setCapabilityRendition(CapabilityRenditions capabilityRendition) { this.capabilityRendition = capabilityRendition; } @Override public Boolean isPwcSearchableSupported() { return isPwcSearchable; } public void setIsPwcSearchable(Boolean isPwcSearchable) { this.isPwcSearchable = isPwcSearchable; } @Override public Boolean isPwcUpdatableSupported() { return isPwcUpdatable; } public void setIsPwcUpdatable(Boolean isPwcUpdatable) { this.isPwcUpdatable = isPwcUpdatable; } @Override public Boolean isGetDescendantsSupported() { return supportsGetDescendants; } public void setSupportsGetDescendants(Boolean supportsGetDescendants) { this.supportsGetDescendants = supportsGetDescendants; } @Override public Boolean isGetFolderTreeSupported() { return supportsGetFolderTree; } public void setSupportsGetFolderTree(Boolean supportsGetFolderTree) { this.supportsGetFolderTree = supportsGetFolderTree; } @Override public CapabilityOrderBy getOrderByCapability() { return capabilityOrderBy; } public void setCapabilityOrderBy(CapabilityOrderBy capabilityOrderBy) { this.capabilityOrderBy = capabilityOrderBy; } @Override public Boolean isMultifilingSupported() { return supportsMultifiling; } public void setSupportsMultifiling(Boolean supportsMultifiling) { this.supportsMultifiling = supportsMultifiling; } @Override public Boolean isUnfilingSupported() { return supportsUnfiling; } public void setSupportsUnfiling(Boolean supportsUnfiling) { this.supportsUnfiling = supportsUnfiling; } @Override public Boolean isVersionSpecificFilingSupported() { return supportsVersionSpecificFiling; } public void setSupportsVersionSpecificFiling(Boolean supportsVersionSpecificFiling) { this.supportsVersionSpecificFiling = supportsVersionSpecificFiling; } @Override public CreatablePropertyTypes getCreatablePropertyTypes() { return creatablePropertyTypes; } public void setCreatablePropertyTypes(CreatablePropertyTypes creatablePropertyTypes) { this.creatablePropertyTypes = creatablePropertyTypes; } @Override public NewTypeSettableAttributes getNewTypeSettableAttributes() { return newTypeSettableAttributes; } public void setNewTypeSettableAttributes(NewTypeSettableAttributes newTypeSettableAttributes) { this.newTypeSettableAttributes = newTypeSettableAttributes; } @Override public String toString() { return "Repository Capabilities [all versions searchable=" + allVersionsSearchable + ", capability ACL=" + capabilityAcl + ", capability changes=" + capabilityChanges + ", capability content stream updates=" + capabilityContentStreamUpdates + ", capability join=" + capabilityJoin + ", capability query=" + capabilityQuery + ", capability rendition=" + capabilityRendition + ", is PWC searchable=" + isPwcSearchable + ", is PWC updatable=" + isPwcUpdatable + ", supports GetDescendants=" + supportsGetDescendants + ", supports GetFolderTree=" + supportsGetFolderTree + ", supports multifiling=" + supportsMultifiling + ", supports unfiling=" + supportsUnfiling + ", supports version specific filing=" + supportsVersionSpecificFiling + ", creatable property types=" + creatablePropertyTypes + ", newTypeSettableAttributes=" + newTypeSettableAttributes + "]" + super.toString(); } }