Commit | Line | Data |
---|---|---|
7b4f13e6 MK |
1 | /******************************************************************************* |
2 | * Copyright (c) 2014 Ericsson | |
3 | * | |
4 | * All rights reserved. This program and the accompanying materials are made | |
5 | * available under the terms of the Eclipse Public License v1.0 which | |
6 | * accompanies this distribution, and is available at | |
7 | * http://www.eclipse.org/legal/epl-v10.html | |
8 | * | |
9 | * Contributors: | |
10 | * Matthew Khouzam - Initial API and implementation | |
11 | *******************************************************************************/ | |
f357bcd4 | 12 | package org.eclipse.tracecompass.ctf.core.event.types; |
7b4f13e6 MK |
13 | |
14 | import java.util.List; | |
15 | ||
16 | import org.eclipse.jdt.annotation.NonNullByDefault; | |
17 | import org.eclipse.jdt.annotation.Nullable; | |
f357bcd4 | 18 | import org.eclipse.tracecompass.ctf.core.event.scope.IDefinitionScope; |
7b4f13e6 MK |
19 | |
20 | /** | |
21 | * Array definition, used for compound definitions and fixed length strings | |
22 | * | |
23 | * @author Matthew Khouzam | |
7b4f13e6 MK |
24 | */ |
25 | @NonNullByDefault | |
26 | public abstract class AbstractArrayDefinition extends Definition { | |
27 | ||
28 | /** | |
29 | * Constructor | |
30 | * | |
31 | * @param declaration | |
32 | * the event declaration | |
33 | * | |
34 | * @param definitionScope | |
35 | * the definition is in a scope, (normally a struct) what is it? | |
36 | * @param fieldName | |
37 | * the name of the definition. (it is a field in the parent | |
38 | * scope) | |
39 | */ | |
40 | public AbstractArrayDefinition(IDeclaration declaration, @Nullable IDefinitionScope definitionScope, String fieldName) { | |
41 | super(declaration, definitionScope, fieldName); | |
42 | } | |
43 | ||
44 | /** | |
45 | * Get the defintions, an array is a collection of definitions | |
46 | * | |
47 | * @return the definitions | |
48 | */ | |
4c4e2816 | 49 | public abstract List<@Nullable Definition> getDefinitions(); |
7b4f13e6 | 50 | |
15f6223a MK |
51 | /** |
52 | * Get the the number of elements in the array | |
53 | * | |
54 | * @return how many elements in the array | |
d038a7f4 | 55 | * @since 1.0 |
15f6223a MK |
56 | */ |
57 | public abstract int getLength(); | |
58 | ||
7b4f13e6 | 59 | } |