You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by dp...@apache.org on 2009/01/23 17:45:07 UTC
svn commit: r737080 - in /jackrabbit/sandbox/jcr-cmis/api: ./ src/ src/main/
src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/jackrabbit/
src/main/java/org/apache/jackrabbit/cmis/
Author: dpfister
Date: Fri Jan 23 08:45:07 2009
New Revision: 737080
URL: http://svn.apache.org/viewvc?rev=737080&view=rev
Log:
JCRCMIS-7 Define CMIS Java API
Added:
jackrabbit/sandbox/jcr-cmis/api/
jackrabbit/sandbox/jcr-cmis/api/pom.xml (with props)
jackrabbit/sandbox/jcr-cmis/api/src/
jackrabbit/sandbox/jcr-cmis/api/src/main/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java (with props)
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java (with props)
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java (with props)
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java (with props)
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java (with props)
jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java (with props)
Added: jackrabbit/sandbox/jcr-cmis/api/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/pom.xml?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/pom.xml (added)
+++ jackrabbit/sandbox/jcr-cmis/api/pom.xml Fri Jan 23 08:45:07 2009
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ 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.
+-->
+
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jcr-cmis-parent</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </parent>
+ <artifactId>jcr-cmis-api</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <name>Jackrabbit CMIS API</name>
+
+</project>
Propchange: jackrabbit/sandbox/jcr-cmis/api/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,91 @@
+/*
+ * 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.jackrabbit.cmis;
+
+/**
+ * Describes the capabilities of a repository.
+ */
+public interface Capabilities {
+
+ /**
+ * Ability to file a document (or other fileable object that is not a
+ * folder) in more than a folder.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean hasMultifiling();
+
+ /**
+ * Ability to leave a document (or other fileable object that is not a
+ * folder) not filed in a any folder.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean hasUnfiling();
+
+ /**
+ * Ability to file a particular version (i.e., not all versions) of a
+ * document in a folder.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean hasVersionSpecificFiling();
+
+ /**
+ * Ability to update the "Private Working Copy" of a checked-out document.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean isPWCUpdatable();
+
+ /**
+ * Ability to include non-latest versions of document in query search
+ * scope; otherwise only the latest version of each document is searchable.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean areAllVersionsSearchable();
+
+ /**
+ * Ability to include the "Private Working Copy" of checked-out documents
+ * in query search scope; otherwise PWC's are not searchable.
+ *
+ * @return <code>true</code> or <code>false</code>
+ */
+ public boolean isPWCSearchable();
+
+ /**
+ * Ability to provide query.
+ *
+ * @return query support enum
+ */
+ public QuerySupport getQuerySupport();
+
+ /**
+ * Join support level in query.
+ *
+ * @return join support enum
+ */
+ public JoinSupport getJoinSupport();
+
+ /**
+ * Full-text search support level in query.
+ *
+ * @return full text support enum
+ */
+ public FullTextSupport getFullTextSupport();
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Capabilities.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,30 @@
+package org.apache.jackrabbit.cmis;
+
+import java.util.Calendar;
+
+public interface Entry {
+
+ public String getId();
+
+ public String getName();
+
+ public String getParentId();
+
+ public String getObjectId();
+
+ public String getObjectTypeId();
+
+ public String getCreatedBy();
+
+ public Calendar getCreationDate();
+
+ public String getLastModifiedBy();
+
+ public Calendar getLastModificationDate();
+
+ public String getChangeToken();
+
+ public Iterable<Entry> getChildren();
+
+ public Iterable<Entry> getDescendants();
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Entry.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,60 @@
+/*
+ * 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.jackrabbit.cmis;
+
+/**
+ * Full text support enumeration.
+ */
+public enum FullTextSupport {
+
+ /**
+ * No full-text support (i.e. a text-search-predicate is not allowed in
+ * the WHERE clause of a query).
+ */
+ NONE("none"),
+
+ /**
+ * Full-text only (i.e., only text-search-predicate is allowed in
+ * the WHERE clause of a query).
+ */
+ FULL_TEXT("fulltextonly"),
+
+ /**
+ * Full-text + structured/typed search on Properties (i.e. all search
+ * predicates are supported in the WHERE clause of a query).
+ */
+ FULL_TEXT_AND_STRUCTURED("fulltextandstructured");
+
+ /**
+ * Value.
+ */
+ private final String value;
+
+ /**
+ * Create a new instance of this class.
+ *
+ * @param value value
+ */
+ private FullTextSupport(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/FullTextSupport.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,57 @@
+/*
+ * 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.jackrabbit.cmis;
+
+/**
+ * Join support enumeration.
+ */
+public enum JoinSupport {
+
+ /**
+ * No join support.
+ */
+ NO("nojoin"),
+
+ /**
+ * Support inner join.
+ */
+ INNER("inneronly"),
+
+ /**
+ * Support inner and outer join.
+ */
+ INNER_AND_OUTER("innerandouter");
+
+ /**
+ * Value.
+ */
+ private final String value;
+
+ /**
+ * Create a new instance of this class.
+ *
+ * @param value value
+ */
+ private JoinSupport(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/JoinSupport.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,62 @@
+/*
+ * 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.jackrabbit.cmis;
+
+/**
+ * Query support enumeration.
+ */
+public enum QuerySupport {
+
+ /**
+ * No query support.
+ */
+ NONE("none"),
+
+ /**
+ * Only metadata.
+ */
+ METADATA_ONLY("metadataonly"),
+
+ /**
+ * Only full text query.
+ */
+ FULL_TEXT_ONLY("fulltextonly"),
+
+ /**
+ * Both full text and metadata capabilites provided.
+ */
+ BOTH("both");
+
+ /**
+ * Value.
+ */
+ private final String value;
+
+ /**
+ * Create a new instance of this class.
+ *
+ * @param value value
+ */
+ private QuerySupport(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return value;
+ }
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/QuerySupport.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url
Added: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java?rev=737080&view=auto
==============================================================================
--- jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java (added)
+++ jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java Fri Jan 23 08:45:07 2009
@@ -0,0 +1,103 @@
+/*
+ * 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.jackrabbit.cmis;
+
+import java.net.URI;
+
+/**
+ * Describes a repository.
+ */
+public interface Repository {
+
+ /**
+ * Return the repository id.
+ *
+ * @return repository id
+ */
+ public String getId();
+
+ /**
+ * Return the repository name.
+ *
+ * @return repository name
+ */
+ public String getName();
+
+ /**
+ * Return the repository URI.
+ *
+ * @return repository URI
+ */
+ public URI getURI();
+
+ /**
+ * Return the description.
+ *
+ * @return description
+ */
+ public String getDescription();
+
+ /**
+ * Return the vendor name.
+ *
+ * @return vendor name
+ */
+ public String getVendorName();
+
+ /**
+ * Return the product name.
+ *
+ * @return product name
+ */
+ public String getProductName();
+
+ /**
+ * Return the product version.
+ *
+ * @return product version
+ */
+ public String getProductVersion();
+
+ /**
+ * Return the root folder id.
+ *
+ * @return root folder id
+ */
+ public String getRootFolderId();
+
+ /**
+ * Return the version of CMIS standard supported.
+ *
+ * @return version of CMIS standard supported
+ */
+ public String getVersionsSupported();
+
+ /**
+ * Return the capabilities of this repository.
+ *
+ * @return capabilities
+ */
+ public Capabilities getCapabilities();
+
+ /**
+ * Return an entry, given its id.
+ *
+ * @param id entry id
+ * @return entry
+ */
+ public Entry getEntry(String id);
+}
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/sandbox/jcr-cmis/api/src/main/java/org/apache/jackrabbit/cmis/Repository.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev Url