public org . jbundle . thin . base . db . FieldList makeFieldList ( String strFieldsToInclude ) throws RemoteException { synchronized ( this . getTask ( ) ) { FieldList fieldList = new FieldList ( null ) ; Record record = this . getMainRecord ( ) ; boolean bAllSelected = record . isAllSelected ( ) ; if ( SELECTED . equalsIgnoreCase ( strFieldsToInclude ) ) bAllSelected = false ; if ( bAllSelected ) m_iFieldTypes = BaseBuffer . PHYSICAL_FIELDS ; else m_iFieldTypes = BaseBuffer . SELECTED_FIELDS ; // Pass all selected (thin will need them). if ( SELECTED . equalsIgnoreCase ( strFieldsToInclude ) ) m_iFieldTypes = BaseBuffer . SELECTED_FIELDS ; // Pass all selected (including virtual) for ( int iFieldSeq = 0 ; iFieldSeq < record . getFieldCount ( ) ; iFieldSeq ++ ) { BaseField field = record . getField ( iFieldSeq ) ; if ( ( m_iFieldTypes == BaseBuffer . PHYSICAL_FIELDS ) || ( m_iFieldTypes == BaseBuffer . DATA_FIELDS ) ) if ( field . isVirtual ( ) ) continue ; // Do not use virtual fields if ( ( m_iFieldTypes == BaseBuffer . DATA_FIELDS ) || ( m_iFieldTypes == BaseBuffer . SELECTED_FIELDS ) ) if ( ! field . isSelected ( ) ) continue ; // If not all fields are selected, only build the selected fields. FieldInfo fieldInfo = new FieldInfo ( fieldList , field . getFieldName ( ) , field . getMaxLength ( ) , field . getFieldDesc ( ) , field . getDefault ( ) ) ; fieldInfo . setDataClass ( field . getDataClass ( ) ) ; } // for (int iKeyFieldSeq = 0; iKeyFieldSeq < record.getKeyAreaCount(); iKeyFieldSeq++) int iKeyFieldSeq = 0 ; { KeyArea keyArea = record . getKeyArea ( iKeyFieldSeq ) ; KeyAreaInfo keyAreaInfo = new KeyAreaInfo ( fieldList , keyArea . getUniqueKeyCode ( ) , keyArea . getKeyName ( ) ) ; int iKeyField = 0 ; keyAreaInfo . addKeyField ( keyArea . getField ( iKeyField ) . getFieldName ( ) , keyArea . getKeyOrder ( iKeyField ) ) ; } return fieldList ; } }
Make a thin FieldList for this table .