| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__ |
| #define __com_sun_star_ucb_XContentIdentifierMapping_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module ucb { |
| |
| published interface XContent; |
| published interface XContentIdentifier; |
| |
| //============================================================================= |
| /** A mapping from a (source) set of <type>XContentIdentifier</type>s to |
| another (target) set of XContentIdentifiers. |
| |
| <p>For convenience and performance, mapping between the string |
| representations of source/target XContentIdentifiers, as well as mapping |
| between <type>XContent</type>s identified by source/target |
| XContentIdentifiers is also supported. |
| |
| <p>This interface can be useful in cases where the identifieres (and |
| associated contents) returned by the various methods of an |
| <type>XContentAccess</type> need to be mapped to some other space of |
| identifiers (and associated contents). |
| |
| @see XContent |
| @see XContentAccess |
| @see XContentIdentifier |
| */ |
| |
| published interface XContentIdentifierMapping: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** Map the string representation of an <type>XContentIdentifier</type>. |
| |
| @param Source The string representation of an XContentIdentifier |
| from the source set. |
| |
| @returns The string representation of the target set's |
| XContentIdentifier corresponding to the source identifier. The |
| returned string may be empty if either Source was empty already, or if |
| there's no applicable target to map to. |
| */ |
| string mapContentIdentifierString([in] string Source); |
| |
| //------------------------------------------------------------------------- |
| /** Map an <type>XContentIdentifier</type>. |
| |
| @param Source An XContentIdentifier from the source set. |
| |
| @returns The target set's XContentIdentifier corresponding to the |
| source identifier. The returned XContentIdentifier may be null if |
| either Source was null already, or if there's no applicable target to |
| map to. |
| */ |
| XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source); |
| |
| //------------------------------------------------------------------------- |
| /** Map the <type>XContent</type> identified by an |
| <type>XContentIdentifier</type>. |
| |
| @param Source The XContent identified by an XContentIdentifier from |
| the source set. |
| |
| @returns The XContent identified by the target set's |
| XContentIdentifier corresponding to the source identifier. The |
| returned XContent may be null if either Source was null already, or if |
| there's no applicable target to map to. |
| */ |
| XContent mapContent([in] XContent Source); |
| |
| //------------------------------------------------------------------------- |
| /** Map the content identifiers (or related data) contained in the columns |
| of a <type scope="com::sun::star::sdbc">XRow</type>. |
| |
| @param Value On input, a sequence of anys corresponding to the columns |
| of the XRow (the first column goes into the zeroth position of the |
| sequence, and so on). On output, the same sequence, but with the |
| entries mapped as necessary. This is an inout parameter rather than a |
| comination of in parameter and return value for performance reasons |
| (assuming that in most cases most elements in the input sequence will |
| be returned unmodified). |
| |
| @returns <TRUE/> if any of the columns contain data that (potentially) |
| needs mapping (though maybe no mapping occured for the concrete input |
| data of this call). This information can be useful to decide whether, |
| for another row, a call to this function is at all necessary. |
| */ |
| boolean mapRow([inout] sequence< any > Value); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |