View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2009 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
11   */
12  
13  package com.eviware.soapui.model.propertyexpansion;
14  
15  import java.util.ArrayList;
16  
17  import com.eviware.soapui.model.ModelItem;
18  
19  public class PropertyExpansionsResult extends ArrayList<PropertyExpansion>
20  {
21  	private final ModelItem modelItem;
22  	private final Object defaultTarget;
23  
24  	public PropertyExpansionsResult( ModelItem modelItem )
25  	{
26  		this( modelItem, modelItem );
27  	}
28  
29  	public PropertyExpansionsResult( ModelItem modelItem, Object defaultTarget )
30  	{
31  		this.modelItem = modelItem;
32  		this.defaultTarget = defaultTarget;
33  	}
34  
35  	public boolean extractAndAddAll( Object target, String propertyName )
36  	{
37  		return addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, target, propertyName ) );
38  	}
39  
40  	public boolean extractAndAddAll( String propertyName )
41  	{
42  		return addAll( PropertyExpansionUtils.extractPropertyExpansions( modelItem, defaultTarget, propertyName ) );
43  	}
44  
45  	public PropertyExpansion[] toArray()
46  	{
47  		return toArray( new PropertyExpansion[size()] );
48  	}
49  
50  	public void addAll( PropertyExpansion[] propertyExpansions )
51  	{
52  		if( propertyExpansions == null )
53  			return;
54  
55  		for( PropertyExpansion pe : propertyExpansions )
56  			add( pe );
57  	}
58  }