1*cdf0e10cSrcweir/************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__ 28*cdf0e10cSrcweir#define __com_sun_star_ucb_XContentIdentifierMapping_idl__ 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__ 31*cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl> 32*cdf0e10cSrcweir#endif 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir//============================================================================= 35*cdf0e10cSrcweir 36*cdf0e10cSrcweirmodule com { module sun { module star { module ucb { 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir published interface XContent; 39*cdf0e10cSrcweir published interface XContentIdentifier; 40*cdf0e10cSrcweir 41*cdf0e10cSrcweir//============================================================================= 42*cdf0e10cSrcweir/** A mapping from a (source) set of <type>XContentIdentifier</type>s to 43*cdf0e10cSrcweir another (target) set of XContentIdentifiers. 44*cdf0e10cSrcweir 45*cdf0e10cSrcweir <p>For convenience and performance, mapping between the string 46*cdf0e10cSrcweir representations of source/target XContentIdentifiers, as well as mapping 47*cdf0e10cSrcweir between <type>XContent</type>s identified by source/target 48*cdf0e10cSrcweir XContentIdentifiers is also supported. 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir <p>This interface can be useful in cases where the identifieres (and 51*cdf0e10cSrcweir associated contents) returned by the various methods of an 52*cdf0e10cSrcweir <type>XContentAccess</type> need to be mapped to some other space of 53*cdf0e10cSrcweir identifiers (and associated contents). 54*cdf0e10cSrcweir 55*cdf0e10cSrcweir @see XContent 56*cdf0e10cSrcweir @see XContentAccess 57*cdf0e10cSrcweir @see XContentIdentifier 58*cdf0e10cSrcweir*/ 59*cdf0e10cSrcweir 60*cdf0e10cSrcweirpublished interface XContentIdentifierMapping: com::sun::star::uno::XInterface 61*cdf0e10cSrcweir{ 62*cdf0e10cSrcweir //------------------------------------------------------------------------- 63*cdf0e10cSrcweir /** Map the string representation of an <type>XContentIdentifier</type>. 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir @param Source The string representation of an XContentIdentifier 66*cdf0e10cSrcweir from the source set. 67*cdf0e10cSrcweir 68*cdf0e10cSrcweir @returns The string representation of the target set's 69*cdf0e10cSrcweir XContentIdentifier corresponding to the source identifier. The 70*cdf0e10cSrcweir returned string may be empty if either Source was empty already, or if 71*cdf0e10cSrcweir there's no applicable target to map to. 72*cdf0e10cSrcweir */ 73*cdf0e10cSrcweir string mapContentIdentifierString([in] string Source); 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir //------------------------------------------------------------------------- 76*cdf0e10cSrcweir /** Map an <type>XContentIdentifier</type>. 77*cdf0e10cSrcweir 78*cdf0e10cSrcweir @param Source An XContentIdentifier from the source set. 79*cdf0e10cSrcweir 80*cdf0e10cSrcweir @returns The target set's XContentIdentifier corresponding to the 81*cdf0e10cSrcweir source identifier. The returned XContentIdentifier may be null if 82*cdf0e10cSrcweir either Source was null already, or if there's no applicable target to 83*cdf0e10cSrcweir map to. 84*cdf0e10cSrcweir */ 85*cdf0e10cSrcweir XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source); 86*cdf0e10cSrcweir 87*cdf0e10cSrcweir //------------------------------------------------------------------------- 88*cdf0e10cSrcweir /** Map the <type>XContent</type> identified by an 89*cdf0e10cSrcweir <type>XContentIdentifier</type>. 90*cdf0e10cSrcweir 91*cdf0e10cSrcweir @param Source The XContent identified by an XContentIdentifier from 92*cdf0e10cSrcweir the source set. 93*cdf0e10cSrcweir 94*cdf0e10cSrcweir @returns The XContent identified by the target set's 95*cdf0e10cSrcweir XContentIdentifier corresponding to the source identifier. The 96*cdf0e10cSrcweir returned XContent may be null if either Source was null already, or if 97*cdf0e10cSrcweir there's no applicable target to map to. 98*cdf0e10cSrcweir */ 99*cdf0e10cSrcweir XContent mapContent([in] XContent Source); 100*cdf0e10cSrcweir 101*cdf0e10cSrcweir //------------------------------------------------------------------------- 102*cdf0e10cSrcweir /** Map the content identifiers (or related data) contained in the columns 103*cdf0e10cSrcweir of a <type scope="com::sun::star::sdbc">XRow</type>. 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir @param Value On input, a sequence of anys corresponding to the columns 106*cdf0e10cSrcweir of the XRow (the first column goes into the zeroth position of the 107*cdf0e10cSrcweir sequence, and so on). On output, the same sequence, but with the 108*cdf0e10cSrcweir entries mapped as necessary. This is an inout parameter rather than a 109*cdf0e10cSrcweir comination of in parameter and return value for performance reasons 110*cdf0e10cSrcweir (assuming that in most cases most elements in the input sequence will 111*cdf0e10cSrcweir be returned unmodified). 112*cdf0e10cSrcweir 113*cdf0e10cSrcweir @returns <TRUE/> if any of the columns contain data that (potentially) 114*cdf0e10cSrcweir needs mapping (though maybe no mapping occured for the concrete input 115*cdf0e10cSrcweir data of this call). This information can be useful to decide whether, 116*cdf0e10cSrcweir for another row, a call to this function is at all necessary. 117*cdf0e10cSrcweir */ 118*cdf0e10cSrcweir boolean mapRow([inout] sequence< any > Value); 119*cdf0e10cSrcweir}; 120*cdf0e10cSrcweir 121*cdf0e10cSrcweir//============================================================================= 122*cdf0e10cSrcweir 123*cdf0e10cSrcweir}; }; }; }; 124*cdf0e10cSrcweir 125*cdf0e10cSrcweir#endif 126