/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * 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.jbpm.document.marshalling; import java.util.Date; import java.util.Map; import org.jbpm.document.Document; import org.kie.api.marshalling.ObjectMarshallingStrategy; /** * Marshalling strategy definition to Marshal Document. */ public abstract class AbstractDocumentMarshallingStrategy implements ObjectMarshallingStrategy { /** * Creates a valid Document instance with the data received. * This method is called when a document is uploaded to create the Document instance <b>before</b> * marshalling the document content. * * @param name The document name. * @param size The size of the document content. * @param lastModified The last modified date of the document. * @param params A Map that contain params for the document creation. * @return A Document instance containing all the document info (including identifier and download * link) except the Document content. */ public abstract Document buildDocument( String name, long size, Date lastModified, Map<String, String> params ); @Override public boolean accept(Object o) { return o instanceof Document; } }