org.omnaest.utils.xml
Class JAXBList<E>
java.lang.Object
org.omnaest.utils.xml.JAXBList<E>
- Type Parameters:
E -
- All Implemented Interfaces:
- Iterable<E>, Collection<E>, List<E>
public class JAXBList<E>
- extends Object
- implements List<E>
List wrapper which acts as an XmlRootElement for any List. Since the exact type of the internal
List instance is determined at runtime, each of the objects have its own schema definition. This will cause some
overhead in comparison to a List which is wrapped not by its interface.
Example:
Code:
//
List<Object> list = new ArrayList<Object>();
list.add( String.valueOf( "test" ) );
list.add( Character.valueOf( 'c' ) );
list.add( Byte.valueOf( "10" ) );
list.add( Short.valueOf( "1000" ) );
list.add( Integer.valueOf( "100000" ) );
list.add( Long.valueOf( "1000000000" ) );
list.add( Float.valueOf( "100000.111" ) );
list.add( Double.valueOf( "100000.111" ) );
list.add( Boolean.valueOf( "true" ) );
list.add( newTestEntity( 0 ) );
list.add( newTestEntity( 1 ) );
list.add( newTestEntity( 3 ) );
//
JAXBList<TestEntity> jaxbList = JAXBList.newInstance( list );
//
final MarshallingConfiguration marshallingConfiguration = new MarshallingConfiguration();
marshallingConfiguration.setKnownTypes( TestEntity.class );
//
String xmlContent = JAXBXMLHelper.storeObjectAsXML( jaxbList, marshallingConfiguration );
Entity:
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
protected static class TestEntity
{
@XmlElement
private String fieldString = null;
@XmlElement
private int fieldInteger = -1;
}
Produced XML content:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<list>
<string>test</string>
<char>99</char>
<byte>10</byte>
<short>1000</short>
<int>100000</int>
<long>1000000000</long>
<float>100000.11</float>
<double>100000.111</double>
<boolean>true</boolean>
<object xsi:type="testEntity" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fieldString>fieldString0</fieldString>
<fieldInteger>0</fieldInteger>
</object>
<object xsi:type="testEntity" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fieldString>fieldString1</fieldString>
<fieldInteger>1</fieldInteger>
</object>
<object xsi:type="testEntity" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fieldString>fieldString3</fieldString>
<fieldInteger>3</fieldInteger>
</object>
</list>
- Author:
- Omnaest
- See Also:
newInstance(List)
|
Constructor Summary |
protected |
JAXBList()
Used internally when JAXB does create a new default instance. |
protected |
JAXBList(List<E> collection)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
list
protected List<E> list
JAXBList
protected JAXBList(List<E> collection)
- Parameters:
collection - - See Also:
#newInstance(Collection)
JAXBList
protected JAXBList()
- Used internally when JAXB does create a new default instance.
newInstance
public static <E> JAXBList<E> newInstance(List<E> list)
- Creates a new instance of a
JAXBList for a given List.
- Type Parameters:
E - - Parameters:
list -
- Returns:
- new instance or null if list param is null
add
public boolean add(E arg0)
- Specified by:
add in interface Collection<E>- Specified by:
add in interface List<E>
addAll
public boolean addAll(Collection<? extends E> arg0)
- Specified by:
addAll in interface Collection<E>- Specified by:
addAll in interface List<E>
clear
public void clear()
- Specified by:
clear in interface Collection<E>- Specified by:
clear in interface List<E>
contains
public boolean contains(Object arg0)
- Specified by:
contains in interface Collection<E>- Specified by:
contains in interface List<E>
containsAll
public boolean containsAll(Collection<?> arg0)
- Specified by:
containsAll in interface Collection<E>- Specified by:
containsAll in interface List<E>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface Collection<E>- Specified by:
isEmpty in interface List<E>
iterator
public Iterator<E> iterator()
- Specified by:
iterator in interface Iterable<E>- Specified by:
iterator in interface Collection<E>- Specified by:
iterator in interface List<E>
remove
public boolean remove(Object arg0)
- Specified by:
remove in interface Collection<E>- Specified by:
remove in interface List<E>
removeAll
public boolean removeAll(Collection<?> arg0)
- Specified by:
removeAll in interface Collection<E>- Specified by:
removeAll in interface List<E>
retainAll
public boolean retainAll(Collection<?> arg0)
- Specified by:
retainAll in interface Collection<E>- Specified by:
retainAll in interface List<E>
size
public int size()
- Specified by:
size in interface Collection<E>- Specified by:
size in interface List<E>
toArray
public Object[] toArray()
- Specified by:
toArray in interface Collection<E>- Specified by:
toArray in interface List<E>
toArray
public <T> T[] toArray(T[] arg0)
- Specified by:
toArray in interface Collection<E>- Specified by:
toArray in interface List<E>
add
public void add(int index,
E element)
- Specified by:
add in interface List<E>
addAll
public boolean addAll(int index,
Collection<? extends E> c)
- Specified by:
addAll in interface List<E>
get
public E get(int index)
- Specified by:
get in interface List<E>
indexOf
public int indexOf(Object o)
- Specified by:
indexOf in interface List<E>
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
lastIndexOf in interface List<E>
listIterator
public ListIterator<E> listIterator()
- Specified by:
listIterator in interface List<E>
listIterator
public ListIterator<E> listIterator(int index)
- Specified by:
listIterator in interface List<E>
remove
public E remove(int index)
- Specified by:
remove in interface List<E>
set
public E set(int index,
E element)
- Specified by:
set in interface List<E>
subList
public List<E> subList(int fromIndex,
int toIndex)
- Specified by:
subList in interface List<E>
Copyright © 2013. All Rights Reserved.