/*
* (c) COPYRIGHT 1999 World Wide Web Consortium
* (Massachusetts Institute of Technology, Institut National de Recherche
* en Informatique et en Automatique, Keio University).
* All Rights Reserved. http://www.w3.org/Consortium/Legal/
*
* $Id: MediaListImpl.java 1830 2006-04-23 14:51:03Z taqua $
*/
/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2009 Pentaho Corporation. All rights reserved.
*/
package org.w3c.flute.parser;
import org.w3c.css.sac.SACMediaList;
/**
* @author Philippe Le Hegaret
* @version $Revision$
*/
public class MediaListImpl implements SACMediaList {
String[] array = new String[ 10 ];
int current;
public int getLength() {
return current;
}
public String item( int index ) {
if ( ( index < 0 ) || ( index >= current ) ) {
return null;
}
return array[ index ];
}
void addItem( String medium ) {
if ( medium.equals( "all" ) ) {
array[ 0 ] = "all";
current = 1;
return;
}
for ( int i = 0; i < current; i++ ) {
if ( medium.equals( array[ i ] ) ) {
return;
}
}
if ( current == array.length ) {
String[] old = array;
array = new String[ current + current ];
System.arraycopy( old, 0, array, 0, current );
}
array[ current++ ] = medium;
}
/**
* Returns a string representation of this object.
*/
public String toString() {
int _i;
switch( current ) {
case 0:
return "";
case 1:
return array[ 0 ];
default:
boolean not_done = true;
int i = 0;
StringBuffer buf = new StringBuffer( 50 );
do {
buf.append( array[ i++ ] );
if ( i == current ) {
not_done = false;
} else {
buf.append( ", " );
}
} while ( not_done );
return buf.toString();
}
}
}