# Class RSSReader

java.lang.Object
com.codename1.ui.Component
com.codename1.ui.List
com.codename1.components.RSSReader

All Implemented Interfaces:
  `Animation, Editable, ActionSource, StyleListener`

public class RSSReader extends List
A List implementing an RSS reader that automatically populates itself with content from the RSS chanel. When clicking an article it displays the HTML content of said article in a new Form.

- ## Field Summary

  ### Fields inherited from class List

  `FIXED_CENTER, FIXED_LEAD, FIXED_NONE, FIXED_NONE_CYCLIC, FIXED_NONE_ONE_ELEMENT_MARGIN_FROM_EDGE, FIXED_TRAIL, HORIZONTAL, VERTICAL`

  ### Fields inherited from class Component

  `BASELINE, BOTTOM, BRB_CENTER_OFFSET, BRB_CONSTANT_ASCENT, BRB_CONSTANT_DESCENT, BRB_OTHER, CENTER, CROSSHAIR_CURSOR, DEFAULT_CURSOR, DRAG_REGION_IMMEDIATELY_DRAG_X, DRAG_REGION_IMMEDIATELY_DRAG_XY, DRAG_REGION_IMMEDIATELY_DRAG_Y, DRAG_REGION_LIKELY_DRAG_X, DRAG_REGION_LIKELY_DRAG_XY, DRAG_REGION_LIKELY_DRAG_Y, DRAG_REGION_NOT_DRAGGABLE, DRAG_REGION_POSSIBLE_DRAG_X, DRAG_REGION_POSSIBLE_DRAG_XY, DRAG_REGION_POSSIBLE_DRAG_Y, E_RESIZE_CURSOR, HAND_CURSOR, LEFT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NW_RESIZE_CURSOR, RIGHT, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, TOP, W_RESIZE_CURSOR, WAIT_CURSOR`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RSSReader()`
  Creates an rss reader instance

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Image`
  `getIconPlaceholder()`

  ###### Returns

  `int`
  `getLimit()`
  Places a limit on the number of RSS entries requested from the server
  `String`
  `getProgressTitle()`

  ###### Returns

  `String[]`
  `getPropertyNames()`
  A component may expose mutable property names for a UI designer to manipulate, this API is designed for usage internally by the GUI builder code
  `Class[]`
  `getPropertyTypes()`
  Matches the property names method (see that method for further details).
  `Object`
  `getPropertyValue(String name)`
  Returns the current value of the property name, this method is used by the GUI builder
  `Container`
  `getTargetContainer()`
  The form/container to which the RSS will navigate when clicking a RSS entry
  `String`
  `getURL()`
  The URL of the RSS stream
  `protected void`
  `initComponent()`
  Allows subclasses to bind functionality that relies on fully initialized and "ready for action" component state
  `boolean`
  `isAddBackToTaget()`
  Indicates whether a back command should be added implicitly to the target container
  `boolean`
  `isBlockList()`

  ###### Returns

  `void`
  `sendRequest()`
  Send the request to the server, will only work once.
  `void`
  `setAddBackToTaget(boolean addBackToTaget)`
  Indicates whether a back command should be added implicitly to the target container
  `void`
  `setBlockList(boolean blockList)`

  ###### Parameters

  `void`
  `setIconPlaceholder(Image iconPlaceholder)`

  ###### Parameters

  `void`
  `setLimit(int limit)`
  Places a limit on the number of RSS entries requested from the server
  `static void`
  `setMoreDescription(String d)`
  Set the description for the "more" request
  `static void`
  `setMoreTitle(String t)`
  Set the title for the "more" request
  `void`
  `setProgressTitle(String progressTitle)`

  ###### Parameters

  `String`
  `setPropertyValue(String name, Object value)`
  Sets a new value to the given property, returns an error message if failed and null if successful.
  `void`
  `setTargetContainer(Container targetContainer)`
  The form/container to which the RSS will navigate when clicking a RSS entry
  `void`
  `setURL(String url)`
  The URL of the RSS stream
  `protected void`
  `showRSSEntry(Hashtable h)`
  Shows a form containing the RSS entry

  ### Methods inherited from class List

  `addActionListener, addItem, addSelectionListener, animate, calcPreferredSize, fireActionEvent, fireActionEvent, fireClicked, getActionListeners, getCurrentSelected, getDragRegionStatus, getFixedSelection, getGridPosX, getGridPosY, getHint, getHintIcon, getItemGap, getListeners, getListSizeCalculationSampleCount, getMaxElementHeight, getMinElementHeight, getModel, getOrientation, getRenderer, getRenderingPrototype, getSelectedIndex, getSelectedItem, getSelectedRect, getSideGap, getVisibleBounds, initLaf, isCommandList, isDefaultFireOnClick, isDefaultIgnoreFocusComponentWhenUnfocused, isIgnoreFocusComponentWhenUnfocused, isLongPointerPressActionEnabled, isMutableRendererBackgrounds, isNumericKeyActions, isScrollableX, isScrollableY, isSelectableInteraction, isTactileTouch, keyPressed, keyReleased, laidOut, listSelectionChanged, longPointerPress, modelChanged, paint, paramString, pointerDragged, pointerHover, pointerHoverReleased, pointerPressed, pointerReleased, refreshTheme, removeActionListener, removeSelectionListener, scrollRectToVisible, setCommandList, setDefaultFireOnClick, setDefaultIgnoreFocusComponentWhenUnfocused, setFireOnClick, setFixedSelection, setHandlesInput, setHint, setHint, setHintIcon, setIgnoreFocusComponentWhenUnfocused, setInputOnFocus, setItemGap, setListCellRenderer, setListSizeCalculationSampleCount, setLongPointerPressActionEnabled, setMaxElementHeight, setMinElementHeight, setModel, setMutableRendererBackgrounds, setNumericKeyActions, setOrientation, setPaintFocusBehindList, setRenderer, setRenderingPrototype, setScrollToSelected, setSelectedIndex, setSelectedIndex, setSelectedItem, setShouldCalcPreferredSize, shouldRenderSelection, size`

  ### Methods inherited from class Component

  `addDragFinishedListener, addDragOverListener, addDropListener, addFocusListener, addLongPressListener, addPointerDraggedListener, addPointerPressedListener, addPointerReleasedListener, addPullToRefresh, addScrollListener, addStateChangeListener, announceForAccessibility, bindProperty, blocksSideSwipe, calcScrollSize, cancelRepaints, clearClientProperties, contains, containsOrOwns, createStyleAnimation, deinitialize, deinitializeCustomStyle, dragEnter, dragExit, dragFinished, draggingOver, dragInitiated, drawDraggedImage, drop, focusGained, focusLost, getAbsoluteX, getAbsoluteY, getAccessibilityText, getAllStyles, getAnimationManager, getBaseline, getBaselineResizeBehavior, getBindablePropertyNames, getBindablePropertyTypes, getBorder, getBottomGap, getBoundPropertyValue, getBounds, getBounds, getClientProperty, getCloudBoundProperty, getCloudDestinationProperty, getComponentForm, getComponentState, getCursor, getDefaultDragTransparency, getDirtyRegion, getDisabledStyle, getDraggedx, getDraggedy, getDragImage, getDragSpeed, getDragTransparency, getEditingDelegate, getHeight, getInlineAllStyles, getInlineDisabledStyles, getInlinePressedStyles, getInlineSelectedStyles, getInlineStylesTheme, getInlineUnselectedStyles, getInnerHeight, getInnerPreferredH, getInnerPreferredW, getInnerWidth, getInnerX, getInnerY, getLabelForComponent, getName, getNativeOverlay, getNextFocusDown, getNextFocusLeft, getNextFocusRight, getNextFocusUp, getOuterHeight, getOuterPreferredH, getOuterPreferredW, getOuterWidth, getOuterX, getOuterY, getOwner, getParent, getPreferredH, getPreferredSize, getPreferredSizeStr, getPreferredTabIndex, getPreferredW, getPressedStyle, getPropertyTypeNames, getSameHeight, getSameWidth, getScrollable, getScrollAnimationSpeed, getScrollDimension, getScrollOpacity, getScrollOpacityChangeSpeed, getScrollX, getScrollY, getSelectCommandText, getSelectedStyle, getStyle, getTabIndex, getTensileLength, getTextSelectionSupport, getTooltip, getUIID, getUIManager, getUnselectedStyle, getVisibleBounds, getWidth, getX, getY, growShrink, handlesInput, hasFixedPreferredSize, hasFocus, hideNativeOverlay, initCustomStyle, initDisabledStyle, initPressedStyle, initSelectedStyle, initUnselectedStyle, installDefaultPainter, isAlwaysTensile, isBlockLead, isCellRenderer, isChildOf, isDragActivated, isDragAndDropOperation, isDraggable, isDragRegion, isDropTarget, isEditable, isEditing, isEnabled, isFlatten, isFocusable, isGrabsPointerEvents, isHidden, isHidden, isHideInLandscape, isHideInPortrait, isHScrollThumbGrabbed, isHScrollThumbHover, isIgnorePointerEvents, isInClippingRegion, isInitialized, isOpaque, isOwnedBy, isPinchBlocksDragAndDrop, isRippleEffect, isRTL, isScrollable, isScrollVisible, isSetCursorSupported, isSmoothScrolling, isSnapToGrid, isStickyDrag, isTactileTouch, isTensileDragEnabled, isTraversable, isVisible, isVScrollThumbGrabbed, isVScrollThumbHover, keyRepeated, longKeyPress, onScrollX, onScrollY, onSetFocusable, paintBackground, paintBackgrounds, paintBorder, paintBorderBackground, paintComponent, paintComponent, paintIntersectingComponentsAbove, paintLock, paintLockRelease, paintRippleOverlay, paintScrollbars, paintScrollbarX, paintScrollbarY, paintShadows, parsePreferredSize, pinch, pinch, pinchReleased, pointerDragged, pointerHoverPressed, pointerPressed, pointerReleased, putClientProperty, refreshTheme, refreshTheme, remove, removeDragFinishedListener, removeDragOverListener, removeDropListener, removeFocusListener, removeLongPressListener, removePointerDraggedListener, removePointerPressedListener, removePointerReleasedListener, removeScrollListener, removeStateChangeListener, repaint, repaint, requestFocus, resetFocusable, respondsToPointerEvents, scrollRectToVisible, scrollRectToVisible, setAccessibilityText, setAlwaysTensile, setBlockLead, setBoundPropertyValue, setCellRenderer, setCloudBoundProperty, setCloudDestinationProperty, setComponentState, setCursor, setDefaultDragTransparency, setDirtyRegion, setDisabledStyle, setDraggable, setDragTransparency, setDropTarget, setEditingDelegate, setEnabled, setFlatten, setFocus, setFocusable, setGrabsPointerEvents, setHeight, setHidden, setHidden, setHideInLandscape, setHideInPortrait, setHorizontalScrollBounds, setIgnorePointerEvents, setInitialized, setInlineAllStyles, setInlineDisabledStyles, setInlinePressedStyles, setInlineSelectedStyles, setInlineStylesTheme, setInlineUnselectedStyles, setIsScrollVisible, setLabelForComponent, setName, setNextFocusDown, setNextFocusLeft, setNextFocusRight, setNextFocusUp, setOpaque, setOwner, setPinchBlocksDragAndDrop, setPreferredH, setPreferredSize, setPreferredSizeStr, setPreferredTabIndex, setPreferredW, setPressedStyle, setPullToRefresh, setRippleEffect, setRTL, setSameHeight, setSameSize, setSameWidth, setScrollAnimationSpeed, setScrollOpacityChangeSpeed, setScrollSize, setScrollVisible, setScrollX, setScrollY, setSelectCommandText, setSelectedStyle, setSize, setSmoothScrolling, setSnapToGrid, setTabIndex, setTactileTouch, setTensileDragEnabled, setTensileLength, setTooltip, setTraversable, setUIID, setUIID, setUIIDFinal, setUnselectedStyle, setVerticalScrollBounds, setVisible, setWidth, setX, setY, shouldBlockSideSwipe, shouldBlockSideSwipeLeft, shouldBlockSideSwipeRight, shouldRenderComponentSelection, showNativeOverlay, startEditingAsync, stopEditing, stripMarginAndPadding, styleChanged, toImage, toString, unbindProperty, updateNativeOverlay, visibleBoundsContains`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### RSSReader

    public RSSReader()
    Creates an rss reader instance

- ## Method Details

  - ### setMoreDescription

    public static void setMoreDescription(String d)

    Set the description for the "more" request

    ###### Parameters

    - `d`: the description

  - ### setMoreTitle

    public static void setMoreTitle(String t)

    Set the title for the "more" request

    ###### Parameters

    - `t`: new title

  - ### sendRequest

    public void sendRequest()
    Send the request to the server, will only work once. This is called implicitly when the list is initialized

  - ### initComponent

    protected void initComponent()
    Allows subclasses to bind functionality that relies on fully initialized and "ready for action" component state
    Overrides:
      `initComponent` in class `Component`

  - ### getURL

    public String getURL()

    The URL of the RSS stream

    ###### Returns

    The URL of the RSS stream

  - ### setURL

    public void setURL(String url)

    The URL of the RSS stream

    ###### Parameters

    - `url`: The URL of the RSS stream

  - ### getIconPlaceholder

    public Image getIconPlaceholder()

    ###### Returns

    the iconPlaceholder

  - ### setIconPlaceholder

    public void setIconPlaceholder(Image iconPlaceholder)

    ###### Parameters

    - `iconPlaceholder`: the iconPlaceholder to set

  - ### showRSSEntry

    protected void showRSSEntry(Hashtable h)

    Shows a form containing the RSS entry

    ###### Parameters

    - `h`: the parsed entry

  - ### getLimit

    public int getLimit()

    Places a limit on the number of RSS entries requested from the server

    ###### Returns

    the limit

  - ### setLimit

    public void setLimit(int limit)

    Places a limit on the number of RSS entries requested from the server

    ###### Parameters

    - `limit`: the limit to set

  - ### getPropertyNames

    public String[] getPropertyNames()

    A component may expose mutable property names for a UI designer to manipulate, this API is designed for usage internally by the GUI builder code

    ###### Returns

    the property names allowing mutation

    Overrides:
      `getPropertyNames` in class `Component`

  - ### getPropertyTypes

    public Class[] getPropertyTypes()

    Matches the property names method (see that method for further details).

    ###### Returns

    the types of the properties

    Overrides:
      `getPropertyTypes` in class `Component`

  - ### getPropertyValue

    public Object getPropertyValue(String name)

    Returns the current value of the property name, this method is used by the GUI builder

    ###### Parameters

    - `name`: the name of the property

    ###### Returns

    the value of said property

    Overrides:
      `getPropertyValue` in class `Component`

  - ### setPropertyValue

    public String setPropertyValue(String name, Object value)

    Sets a new value to the given property, returns an error message if failed and null if successful. Notice that some builtin properties such as "$designMode" might be sent to components to indicate application state.

    ###### Parameters

    - `name`: the name of the property

    - `value`: new value for the property

    ###### Returns

    error message or null

    Overrides:
      `setPropertyValue` in class `Component`

  - ### isBlockList

    public boolean isBlockList()

    ###### Returns

    the blockList

  - ### setBlockList

    public void setBlockList(boolean blockList)

    ###### Parameters

    - `blockList`: the blockList to set

  - ### getProgressTitle

    public String getProgressTitle()

    ###### Returns

    the progressTitle

  - ### setProgressTitle

    public void setProgressTitle(String progressTitle)

    ###### Parameters

    - `progressTitle`: the progressTitle to set

  - ### getTargetContainer

    public Container getTargetContainer()

    The form/container to which the RSS will navigate when clicking a RSS entry

    ###### Returns

    the targetContainer

  - ### setTargetContainer

    public void setTargetContainer(Container targetContainer)

    The form/container to which the RSS will navigate when clicking a RSS entry

    ###### Parameters

    - `targetContainer`: the targetContainer to set

  - ### isAddBackToTaget

    public boolean isAddBackToTaget()

    Indicates whether a back command should be added implicitly to the target container

    ###### Returns

    the addBackToTaget

  - ### setAddBackToTaget

    public void setAddBackToTaget(boolean addBackToTaget)

    Indicates whether a back command should be added implicitly to the target container

    ###### Parameters

    - `addBackToTaget`: the addBackToTaget to set