0,0 → 1,255 |
/* |
* Copyright 2010 Brian Rosenberger (Brutex Network) |
* |
* 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 net.brutex.xservices.ws; |
|
import java.util.List; |
|
import javax.jws.WebMethod; |
import javax.jws.WebParam; |
import javax.jws.WebService; |
import javax.xml.bind.annotation.XmlElement; |
|
import org.apache.cxf.annotations.WSDLDocumentation; |
import org.apache.cxf.annotations.WSDLDocumentationCollection; |
|
import net.brutex.xservices.types.ReplacePattern; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.types.ant.ArchiveResource; |
import net.brutex.xservices.types.ant.AttachmentType; |
import net.brutex.xservices.types.ant.FileResource; |
import net.brutex.xservices.types.ant.FileSetResource; |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.util.XServicesDocumentation; |
/** |
* File related web service operations. |
* |
* @author Brian Rosenberger |
* @since 0.3.0 |
* |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES) |
@WSDLDocumentationCollection( |
{ |
@WSDLDocumentation(value = BrutexNamespaces.BRUTEX_COPYRIGHT, placement = WSDLDocumentation.Placement.TOP) |
} |
) |
public interface FileService { |
|
final String OPERATION_BASENAME ="basename"; |
final String OPERATION_DOWNLOADFILE ="downloadFile"; |
final String OPERATION_UPLOADFILE ="uploadFile"; |
final String OPERATION_COPY ="copy"; |
final String OPERATION_COPYFILE ="copyFile"; |
final String OPERATION_LOADRESOURCE = "loadResource"; |
final String OPERATION_LOADRESOURCEFROMARCHIVE = "loadResourceFromArchive"; |
final String OPERATION_ECHOTOFILE = "echoToFile"; |
final String OPERATION_CHANGEOWNER = "changeOwner"; |
final String OPERATION_CHANGEMODE = "changeMode"; |
final String OPERATION_CHANGEGROUP = "changeGroup"; |
final String OPERATION_REPLACEINFILE = "replaceInFile"; |
final String OPERATION_REPLACEINFILE2 = "replaceInFile2"; |
final String OPERATION_REPLACEINFILEREGEX = "replaceInFileRegEx"; |
|
final String PARAM_FILE = "file"; |
final String PARAM_ENCODING = "encoding"; |
final String PARAM_OVERRIDE = "override"; |
|
/** |
* @param filename |
* @param suffix |
* @return The base name of the given file excluding the suffix. |
*/ |
@WSDLDocumentation(value = "The base name of the given file excluding the suffix.") |
@WebMethod(operationName = OPERATION_BASENAME) |
public abstract String basename( |
@WebParam(name = PARAM_FILE) @XmlElement(required=true) String filename, |
@WebParam(name = "suffix") String suffix); |
|
/** |
* @param res |
* @return The file itself (MTOM attachment or inline base64) including some file metadata. |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(XServicesDocumentation.SERVICE_OPERATION_DOWNLOADFILE) |
@WebMethod(operationName = OPERATION_DOWNLOADFILE) |
public abstract AttachmentType downloadFile( |
@WebParam(name = FileResource.XML_NAME) FileResource res) throws XServicesFault; |
|
/** |
* @param file |
* @return The file name of the file that has been uploaded. |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(XServicesDocumentation.SERVICE_OPERATION_UPLOADFILE) |
@WebMethod(operationName = OPERATION_UPLOADFILE) |
public abstract String uploadFile( |
@WebParam(name = PARAM_FILE) AttachmentType file) throws XServicesFault; |
|
/** |
* @param src |
* @param todir |
* @param plm |
* @param overwrite |
* @param encoding |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_COPY) |
@WebMethod(operationName = OPERATION_COPY) |
public abstract ReturnCode copy( |
@WebParam(name = FileSetResource.XML_NAME) @XmlElement(required=true) FileSetResource src, |
@WebParam(name = "todir") @XmlElement(required=true) String todir, |
@WebParam(name = "preservelastmodified") boolean plm, |
@WebParam(name = PARAM_OVERRIDE) boolean overwrite, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
|
/** |
* @param fromFile |
* @param tofile |
* @param overwrite |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_COPYFILE) |
@WebMethod(operationName = OPERATION_COPYFILE) |
public abstract ReturnCode copyFile( |
@WebParam(name = "fromFile") @XmlElement(required=true) String fromFile, |
@WebParam(name = "toFile") @XmlElement(required=true) String tofile, |
@WebParam(name = PARAM_OVERRIDE) boolean overwrite) throws XServicesFault; |
|
/** |
* @param res |
* @param encoding |
* @return content of the resource |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_LOADRESOURCE) |
@WebMethod(operationName = OPERATION_LOADRESOURCE) |
public abstract String loadRes( |
@WebParam(name = FileResource.XML_NAME) FileResource res, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
|
/** |
* @param res |
* @param encoding |
* @return content of the resource |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_LOADRESOURCEFROMARCHIVE) |
@WebMethod(operationName = OPERATION_LOADRESOURCEFROMARCHIVE) |
public abstract String loadResFromArchive( |
@WebParam(name = "archiveresource") ArchiveResource res, |
@WebParam(name = PARAM_ENCODING) String encoding) throws XServicesFault; |
|
/** |
* @param message |
* @param file |
* @param encoding |
* @param append |
* @param create |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_ECHOTOFILE) |
@WebMethod(operationName = OPERATION_ECHOTOFILE) |
public abstract ReturnCode echo2file( |
@WebParam(name = "message") @XmlElement(required=true) String message, |
@WebParam(name = PARAM_FILE) @XmlElement(required=true) String file, |
@WebParam(name = PARAM_ENCODING) String encoding, |
@WebParam(name = "append") boolean append, |
@WebParam(name = "create") boolean create) throws XServicesFault; |
|
/** |
* Changes the owner of a file or all files inside specified directories. |
* Right now it has effect only under Unix/ Linux as it is implemented through |
* the 'chown' command. |
* |
* @param res Collection of files/ directories |
* @param owner Identifier of the new owner |
* @return |
*/ |
@WebMethod(operationName = OPERATION_CHANGEOWNER) |
public abstract ReturnCode changeOwner( |
@WebParam(name = FileSetResource.XML_NAME) FileSetResource res, |
@WebParam(name = "owner") @XmlElement(required=true) String owner); |
|
/** |
* Changes the group owner of a file or all files inside specified directories. |
* Right now it has effect only under Unix/ Linux as it is implemented through |
* the 'chgrp' command. |
* |
* @param res Collection of files/ directories |
* @param group Identifier of the new group owner |
* @return |
*/ |
@WebMethod(operationName = OPERATION_CHANGEGROUP) |
public abstract ReturnCode changeGroup( |
@WebParam(name = FileSetResource.XML_NAME) FileSetResource res, |
@WebParam(name = "group") @XmlElement(required=true) String group); |
|
/** |
* @param res |
* @param perm |
* @return |
*/ |
@WebMethod(operationName = OPERATION_CHANGEMODE) |
public abstract ReturnCode changeMode( |
@WebParam(name = FileSetResource.XML_NAME) FileSetResource res, |
@WebParam(name = "permissions") @XmlElement(required=true) String perm); |
|
/** |
* @param res |
* @param search |
* @param replace |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_REPLACEINFILE) |
@WebMethod(operationName = OPERATION_REPLACEINFILE) |
public abstract ReturnCode replaceInFile( |
@WebParam(name = FileResource.XML_NAME) @XmlElement(required=true) FileResource res, |
@WebParam(name = "search") @XmlElement(required=true) String search, |
@WebParam(name = "replace") @XmlElement(required=true) String replace) throws XServicesFault; |
|
/** |
* @param res |
* @param patternList |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_REPLACEINFILE2) |
@WebMethod(operationName = OPERATION_REPLACEINFILE2) |
public abstract ReturnCode replaceInFile2( |
@WebParam(name = FileResource.XML_NAME) FileResource res, |
@WebParam(name = "patternList") List<ReplacePattern> patternList) throws XServicesFault; |
|
/** |
* @param res |
* @param search |
* @param replace |
* @param flags |
* @return |
* @throws XServicesFault |
*/ |
@WSDLDocumentation(value = XServicesDocumentation.SERVICE_OPERATION_REPLACEINFILEREGEX) |
@WebMethod(operationName = OPERATION_REPLACEINFILEREGEX) |
public abstract ReturnCode replaceInFileRegEx( |
@WebParam(name = FileResource.XML_NAME) FileResource res, |
@WebParam(name = "search") String search, |
@WebParam(name = "replace") String replace, |
@WebParam(name = "flags") String flags) throws XServicesFault; |
} |