Update git submodules
[LibreOffice.git] / udkapi / com / sun / star / reflection / XIdlArray.idl
blobaadf8f206f737d540e7b7447f57c2abcfe61d744
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 module com { module sun { module star { module reflection {
25 /** Reflects an IDL sequence and provides dynamic access to instances of
26 that sequence.
27 This interface supports widening conversion when getting or setting elements.
29 @attention
30 Although the name of this interface denotes arrays,
31 sequences are meant. Don't be obfuscated, arrays are not supported by UNO!
33 published interface XIdlArray: com::sun::star::uno::XInterface
35 /** Reallocates the length of the sequence instance.
37 @param array
38 sequence instance
39 @param length
40 new length of sequence
42 void realloc(
43 [inout] any array,
44 [in] long length )
45 raises( com::sun::star::lang::IllegalArgumentException );
47 /** Returns the length of the given sequence.
49 @param array
50 sequence instance
51 @return
52 length of sequence
54 long getLen( [in] any array )
55 raises( com::sun::star::lang::IllegalArgumentException );
57 /** Returns element at given index.
59 @param aArray
60 sequence instance
61 @param nIndex
62 index
63 @return
64 value
66 @throws IllegalArgumentException
67 if the specified object is not a sequence or if the specified object is null
69 @throws ArrayIndexOutOfBoundsException
70 if the specified index argument is negative, or if it is greater than or equal to the
71 length of the specified sequence.
73 any get(
74 [in] any aArray,
75 [in] long nIndex )
76 raises( com::sun::star::lang::IllegalArgumentException,
77 com::sun::star::lang::ArrayIndexOutOfBoundsException );
79 /** Sets a new value at given index.
81 @param aArray
82 sequence instance
83 @param nIndex
84 index
85 @param aNewValue
86 new value to be set
88 @throws IllegalArgumentException
89 if the specified object is not a sequence or if the specified object is null
91 @throws ArrayIndexOutOfBoundsException
92 if the specified index argument is negative, or if it is greater than or equal to the
93 length of the specified sequence.
95 void set(
96 [inout] any aArray,
97 [in] long nIndex,
98 [in] any aNewValue )
99 raises( com::sun::star::lang::IllegalArgumentException,
100 com::sun::star::lang::ArrayIndexOutOfBoundsException );
104 }; }; }; };
106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */