1
2
3
4
5
6
7
8
9
10
11
12 package com.eviware.soapui.model.util;
13
14 import java.util.ArrayList;
15 import java.util.Arrays;
16 import java.util.List;
17
18 import com.eviware.soapui.model.ModelItem;
19
20 /***
21 * Utility for handling model item names.
22 *
23 * @author Lars Høidahl
24 */
25
26 public class ModelItemNames<T extends ModelItem>
27 {
28 private List<T> elements;
29
30 public ModelItemNames(List<T> elements)
31 {
32 this.elements = new ArrayList<T>( elements );
33 }
34
35 public ModelItemNames(T[] elements)
36 {
37
38 this.elements = new ArrayList<T>( Arrays.asList(elements) );
39 }
40
41 public String[] getNames()
42 {
43 ArrayList<String> list = getElementNameList();
44 return list.toArray( new String[ list.size() ] );
45 }
46
47 private ArrayList<String> getElementNameList()
48 {
49 ArrayList<String> elementNames = new ArrayList<String>();
50 for(T element : elements)
51 {
52 elementNames.add(element.getName());
53 }
54 return elementNames;
55 }
56
57 public T getElement( String name )
58 {
59 int index = getElementNameList().indexOf(name);
60 return elements.get(index);
61 }
62
63 public void addElement(T element)
64 {
65 elements.add(element);
66 }
67
68 public int getSize()
69 {
70 return elements.size();
71 }
72
73 public String getNameAt( int i )
74 {
75 return elements.get( i ).getName();
76 }
77 }