1 28 29 30 package com.caucho.widget; 31 32 import com.caucho.util.L10N; 33 34 import java.util.ArrayList ; 35 import java.util.logging.Logger ; 36 37 public class WidgetPreference 38 { 39 private static L10N L = new L10N( WidgetPreference.class ); 40 41 static protected final Logger log = 42 Logger.getLogger( WidgetPreference.class.getName() ); 43 44 private String _name; 45 private boolean _isReadOnly; 46 private ArrayList <String > _valuesList; 47 private String [] _valuesArray; 48 49 50 public void setName( String name ) 51 { 52 _name = name; 53 } 54 55 public String getName() 56 { 57 return _name; 58 } 59 60 public void setReadOnly( boolean isReadOnly ) 61 { 62 _isReadOnly = isReadOnly; 63 } 64 65 public boolean isReadOnly() 66 { 67 return _isReadOnly; 68 } 69 70 public String getValue() 71 { 72 makeValues(); 73 74 if ( _valuesArray == null ) 75 return null; 76 else if ( _valuesArray.length == 0 ) 77 return ""; 78 else 79 return _valuesArray[0]; 80 } 81 82 public String [] getValues() 83 { 84 makeValues(); 85 86 return _valuesArray; 87 } 88 89 public void addValue( String value ) 90 { 91 if ( _valuesList == null ) 92 _valuesList = new ArrayList <String >(); 93 94 _valuesList.add( value ); 95 } 96 97 private void makeValues() 98 { 99 if ( _valuesList != null && _valuesList.size() > 0 ) { 100 101 int arraySize = ( _valuesArray == null ? 0 : _valuesArray.length ); 102 int listSize = ( _valuesList == null ? 0 : _valuesList.size() ); 103 104 String [] newArray = new String [ arraySize + listSize ]; 105 106 for ( int i = 0; i < arraySize; i++ ) 107 newArray[i] = _valuesArray[i]; 108 109 int i = arraySize; 110 111 for ( int j = 0; j < listSize; j++ ) { 112 newArray[i] = _valuesList.get(j); 113 i++; 114 } 115 116 _valuesList = null; 117 _valuesArray = newArray; 118 } 119 } 120 } 121 | Popular Tags |