commonj.sdo.Sequence Maven / Gradle / Ivy
/**
*
*
* Service Data Objects
* Version 2.1.0
* Licensed Materials
*
* (c) Copyright BEA Systems, Inc., International Business Machines Corporation,
* Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG.,
* Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies,
* 2005, 2006. All rights reserved.
*
*
*
*/
package commonj.sdo;
/**
* A sequence is a heterogeneous list of {@link Property properties} and corresponding values.
* It represents an ordered arbitrary mixture of data values from more than one property of a {@link DataObject data object}.
*/
public interface Sequence
{
/**
* Returns the number of entries in the sequence.
* @return the number of entries.
*/
int size();
/**
* Returns the property for the given entry index.
* Returns null
for mixed text entries.
* @param index the index of the entry.
* @return the property or null
for the given entry index.
*/
Property getProperty(int index);
/**
* Returns the property value for the given entry index.
* @param index the index of the entry.
* @return the value for the given entry index.
*/
Object getValue(int index);
/**
* Sets the entry at a specified index to the new value.
* @param index the index of the entry.
* @param value the new value for the entry.
*/
Object setValue(int index, Object value);
/**
* Adds a new entry with the specified property name and value
* to the end of the entries.
* @param propertyName the name of the entry's property.
* @param value the value for the entry.
*/
boolean add(String propertyName, Object value);
/**
* Adds a new entry with the specified property index and value
* to the end of the entries.
* @param propertyIndex the index of the entry's property.
* @param value the value for the entry.
*/
boolean add(int propertyIndex, Object value);
/**
* Adds a new entry with the specified property and value
* to the end of the entries.
* @param property the property of the entry.
* @param value the value for the entry.
*/
boolean add(Property property, Object value);
/**
* Adds a new entry with the specified property name and value
* at the specified entry index.
* @param index the index at which to add the entry.
* @param propertyName the name of the entry's property.
* @param value the value for the entry.
*/
void add(int index, String propertyName, Object value);
/**
* Adds a new entry with the specified property index and value
* at the specified entry index.
* @param index the index at which to add the entry.
* @param propertyIndex the index of the entry's property.
* @param value the value for the entry.
*/
void add(int index, int propertyIndex, Object value);
/**
* Adds a new entry with the specified property and value
* at the specified entry index.
* @param index the index at which to add the entry.
* @param property the property of the entry.
* @param value the value for the entry.
*/
void add(int index, Property property, Object value);
/**
* Removes the entry at the given entry index.
* @param index the index of the entry.
*/
void remove(int index);
/**
* Moves the entry at fromIndex
to toIndex
.
* @param toIndex the index of the entry destination.
* @param fromIndex the index of the entry to move.
*/
void move(int toIndex, int fromIndex);
/**
* @deprecated replaced by {@link #addText(String)} in 2.1.0
*/
void add(String text);
/**
* @deprecated replaced by {@link #addText(int, String)} in 2.1.0
*/
void add(int index, String text);
/**
* Adds a new text entry to the end of the Sequence.
* @param text value of the entry.
*/
void addText(String text);
/**
* Adds a new text entry at the given index.
* @param index the index at which to add the entry.
* @param text value of the entry.
*/
void addText(int index, String text);
}