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 }