01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)ArchiveUploadMBean.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package com.sun.jbi.management.repository;
30:
31: /**
32: * Uploads archive bytes to a temporary store in the ESB repository.
33: */
34: public interface ArchiveUploadMBean {
35: public static final String ARCHIVE_NAME = "com.sun.jbi.management.archiveName";
36:
37: /** Initiates an upload session. The Object returned from this method
38: * is used as an identifier for uploading bytes with the
39: * <code>uploadBytes()</code> method.
40: * @return a unique id used for uploading bytes
41: */
42: Object initiateUpload(String archiveName)
43: throws java.io.IOException;
44:
45: /** Uploads a chunk of bytes to an existing temporary archive file.
46: * @param id the upload identifier
47: * @param bytes the content to upload
48: */
49: void uploadBytes(Object id, byte[] bytes)
50: throws java.io.IOException;
51:
52: /** Used to indicate that the upload session with the specified id is
53: * complete.
54: */
55: void terminateUpload(Object id, Long timestamp)
56: throws java.io.IOException;
57:
58: /** Returns the location of the uploaded archive.
59: * @param id the upload identifier
60: * @return the location of the archive as a String URL, or null
61: * if the specified archive id does not exist in the repository.
62: */
63: String getArchiveURL(Object id);
64:
65: /** Returns the absolute path to the location of the uploaded archive.
66: * @param id the upload identifier
67: * @return the absolute path to the location of the archive as a String , or null
68: * if the specified archive id does not exist in the repository.
69: */
70: String getArchiveFilePath(Object id);
71:
72: /** Delete the uploaded archive.
73: *
74: * @return true if the archive is deleted succcessfully, false otherwise
75: */
76: public boolean removeArchive(Object id);
77: }
|