Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Copyright 2012-2015 MarkLogic Corporation
*
* Licensed 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 com.marklogic.client.bitemporal;
import com.marklogic.client.FailedRequestException;
import com.marklogic.client.ForbiddenUserException;
import com.marklogic.client.ResourceNotFoundException;
import com.marklogic.client.Transaction;
import com.marklogic.client.bitemporal.TemporalDescriptor;
import com.marklogic.client.document.DocumentDescriptor;
import com.marklogic.client.document.DocumentManager;
import com.marklogic.client.document.DocumentUriTemplate;
import com.marklogic.client.document.DocumentWriteSet;
import com.marklogic.client.document.ServerTransform;
import com.marklogic.client.io.marker.AbstractReadHandle;
import com.marklogic.client.io.marker.AbstractWriteHandle;
import com.marklogic.client.io.marker.DocumentMetadataWriteHandle;
import com.marklogic.client.util.RequestParameters;
public interface TemporalDocumentManager {
/**
* Just like {@link DocumentManager#create(DocumentUriTemplate, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction) create} but create document
* in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param template the template for constructing the document uri
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @return the TemporalDescriptor including the database uri that identifies the created document,
* as well as the temporal system time when the document was created
*/
public TemporalDescriptor create(DocumentUriTemplate template,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection)
throws ForbiddenUserException, FailedRequestException;
/**
* Just like {@link DocumentManager#write(DocumentDescriptor, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction) write} but write document
* in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param desc a descriptor for the URI identifier, format, and mimetype of the document
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @return the TemporalDescriptor with the temporal system time when the document was written
*/
public TemporalDescriptor write(DocumentDescriptor desc,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link DocumentManager#write(String, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction) write} but write document
* in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param docId the URI identifier for the document
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @return the TemporalDescriptor with the temporal system time when the document was written
*/
public TemporalDescriptor write(String docId,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link DocumentManager#delete(DocumentDescriptor, Transaction) delete} but delete
* document in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param desc a descriptor for the URI identifier, format, and mimetype of the document
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database in
* which this document should be marked as deleted
* @return the TemporalDescriptor with the temporal system time when the document was deleted
*/
public TemporalDescriptor delete(DocumentDescriptor desc,
Transaction transaction,
String temporalCollection)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link DocumentManager#delete(String, Transaction) delete} but delete
* document in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param docId the URI identifier for the document
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database in
* which this document should be marked as deleted
* @return the TemporalDescriptor with the temporal system time when the document was deleted
*/
public TemporalDescriptor delete(String docId,
Transaction transaction,
String temporalCollection)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
// The following methods take a system time which is an advanced concept in bitemporal feature.
/**
* Just like {@link #create(DocumentUriTemplate, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction, String) create} but create document
* at a specific system time
* @param template the template for constructing the document uri
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @param systemTime the application-specified system time with which this document will be marked
* @return the database uri that identifies the created document,
* as well as the temporal system time when the document was created
*/
public TemporalDescriptor create(DocumentUriTemplate template,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection,
java.util.Calendar systemTime)
throws ForbiddenUserException, FailedRequestException;
/**
* Just like {@link #write(DocumentDescriptor, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction, String) write} but write document
* at a specific system time
* @param desc a descriptor for the URI identifier, format, and mimetype of the document
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @param systemTime the application-specified system time with which this document will be marked
* @return the TemporalDescriptor with the temporal system time when the document was written
*/
public TemporalDescriptor write(DocumentDescriptor desc,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection,
java.util.Calendar systemTime)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link #write(String, DocumentMetadataWriteHandle,
* AbstractWriteHandle, ServerTransform, Transaction, String) write} but write document
* at a specific system time
* @param docId the URI identifier for the document
* @param metadataHandle a handle for writing the metadata of the document
* @param contentHandle an IO representation of the document content
* @param transform a server transform to modify the document content
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @param systemTime the application-specified system time with which this document will be marked
* @return the TemporalDescriptor with the temporal system time when the document was written
*/
public TemporalDescriptor write(String docId,
DocumentMetadataWriteHandle metadataHandle,
W contentHandle,
ServerTransform transform,
Transaction transaction,
String temporalCollection,
java.util.Calendar systemTime)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link DocumentManager#write(DocumentWriteSet, ServerTransform, Transaction)
* write} but create document in a temporalCollection, which will enforce all the rules of
*
* bitemporal data management.
* @param writeSet the set of documents and metadata to write
* @param transform a server transform to modify the contents of each document
* @param transaction an open transaction under which the documents will be written
* @param temporalCollection the name of the temporal collection existing in the database into
* which this document should be written
* @see REST API -> Reading
* and Writing Multiple Documents
*/
// TODO: do we return something for the temporal system time? is it per-document?
public void write(DocumentWriteSet writeSet,
ServerTransform transform,
Transaction transaction,
String temporalCollection);
/**
* Just like {@link #delete(DocumentDescriptor, Transaction, String) delete} but delete
* document at a specified system time
* @param desc a descriptor for the URI identifier, format, and mimetype of the document
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database in
* which this document should be marked as deleted
* @param systemTime the application-specified system time with which this document will be marked
* @return the TemporalDescriptor with the temporal system time when the document was deleted
*/
public TemporalDescriptor delete(DocumentDescriptor desc,
Transaction transaction,
String temporalCollection,
java.util.Calendar systemTime)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
/**
* Just like {@link #delete(String, Transaction, String) delete} but delete
* document at a specified system time
* @param docId the URI identifier for the document
* @param transaction an open transaction under which the document may have been created or deleted
* @param temporalCollection the name of the temporal collection existing in the database in
* which this document should be marked as deleted
* @param systemTime the application-specified system time with which this document will be marked
* @return the TemporalDescriptor with the temporal system time when the document was deleted
*/
public TemporalDescriptor delete(String docId,
Transaction transaction,
String temporalCollection,
java.util.Calendar systemTime)
throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException;
}