IP*Works! V8

ipworks
Class Rss

java.lang.Object
  |
  +--ipworks.Rss

public class Rss
extends java.lang.Object

The RSS bean is used to retrieve, parse, and write RSS syndicated content.

The RSS bean implements a standard RSS newsreader with extended capabilities as specified at http://backend.userland.com/rss2.

The bean contains a number of properties that map directly to RSS fields. To receive a feed call the GetFeed method with the URL or file to retrieve specified in the URL parameter. The RSS bean can also generate RSS feeds, which can be retrieved through the RSSData property or written through the WriteFile method.

The RSS bean supports all RSS feed properties that are standard in versions 0.91, 0.92 and 2.0 of the RSS protocol through a number of bean properties. It also supports non-standard properties as specified in the RSS protocol through the Namespaces collection and the GetProperty and SetProperty methods.


Field Summary
static int authBasic
           
static int authDigest
           
static int authNone
           
static int authNtlm
           
static int authProprietary
           
static int frAlways
           
static int frNever
           
static int frSameScheme
           
static int rssVersion091
           
static int rssVersion092
           
static int rssVersion200
           
static int rssVersionUndefined
           
 
Constructor Summary
Rss()
           
 
Method Summary
 void addCookie(java.lang.String cookieName, java.lang.String cookieValue)
          Sets a cookie and the corresponding value.
 void addItem(java.lang.String title, java.lang.String description, java.lang.String link)
          Insert a new item into the beginning of an RSS feed.
 void addNamespace(java.lang.String prefix, java.lang.String namespaceURI)
          Adds a namespace to the Namespaces collection.
 void addRssEventListener(ipworks.RssEventListener l)
           
 java.lang.String config(java.lang.String configurationString)
          Sets or retrieves a beanconfiguration setting.
 java.lang.String getAccept()
          A list of acceptable MIME types for the request.
 int getAuthScheme()
          The authorization scheme to be used when server authorization is to be performed.
 ipworks.RSSChannel getChannel()
          The channel of an rss feed.
 HTTPCookieList getCookies()
          Collection of cookies.
 void getFeed(java.lang.String URL)
          Fetch an RSS feed.
 ipworks.Firewall getFirewall()
          A set of properties related to firewall access.
 int getFollowRedirects()
          Determines what happens when the server issues a redirect.
 java.lang.String getIfModifiedSince()
          A date determining the maximum age of the desired document.
 RSSItemList getItems()
          A collection of items in the current RSS feed.
 java.lang.String getLocalFile()
          The path to a local file for downloading.
 XMLNamespaceList getNamespaces()
          A collection of namespaces in the current namespace stack.
 java.lang.String getOtherHeaders()
          Other headers as determined by the user (optional).
 HeaderList getParsedHeaders()
          Collection of headers returned from the last retrieval.
 java.lang.String getPassword()
          A password if authentication is to be used.
 java.lang.String getProperty(java.lang.String propertyName)
          Get the value of a specific RSS feed item element or attribute.
 ipworks.Proxy getProxy()
          A set of properties related to proxy access.
 java.lang.String getReferer()
          Referer URL/document (optional).
 java.lang.String getRSSData()
          The complete text of the RSS XML file.
 int getRSSVersion()
          The RSS protocol version of the current RSS feed.
 int getTimeout()
          A timeout for the bean.
 byte[] getTransferredData()
          The contents of the last transfer.
 long getTransferredDataLimit()
          The maximum of data to be transferred.
 java.lang.String getTransferredHeaders()
          The full set of headers as received from the server.
 void getURL(java.lang.String URL)
          Fetch an RSS feed.
 java.lang.String getUser()
          A user name if authentication is to be used.
 void interrupt()
          Interrupt the current method.
 boolean isConnected()
          Shows whether the bean is connected.
 boolean isIdle()
          The current status of the component.
 java.lang.String OPMLAttr(java.lang.String attrName)
          Returns the value of the attribute specified in the parameter.
 void put(java.lang.String URL)
          Sends data to the HTTP server using the HTTP PUT method.
 void readFile(java.lang.String fileName)
          Load an RSS file into the bean.
 void readOPML(java.lang.String OPMLFile)
          Read and parse an OPML file.
 void removeRssEventListener(ipworks.RssEventListener l)
           
 void reset()
          Reset all properties of the bean.
 void setAccept(java.lang.String accept)
          A list of acceptable MIME types for the request.
 void setAuthScheme(int authScheme)
          The authorization scheme to be used when server authorization is to be performed.
 void setChannel(ipworks.RSSChannel channel)
          The channel of an rss feed.
 void setConnected(boolean connected)
          Shows whether the bean is connected.
 void setCookies(HTTPCookieList cookies)
          Collection of cookies.
 void setFirewall(ipworks.Firewall firewall)
          A set of properties related to firewall access.
 void setFollowRedirects(int followRedirects)
          Determines what happens when the server issues a redirect.
 void setIfModifiedSince(java.lang.String ifModifiedSince)
          A date determining the maximum age of the desired document.
 void setItems(RSSItemList items)
          A collection of items in the current RSS feed.
 void setLocalFile(java.lang.String localFile)
          The path to a local file for downloading.
 void setNamespaces(XMLNamespaceList namespaces)
          A collection of namespaces in the current namespace stack.
 void setOtherHeaders(java.lang.String otherHeaders)
          Other headers as determined by the user (optional).
 void setPassword(java.lang.String password)
          A password if authentication is to be used.
 void setProperty(java.lang.String propertyName, java.lang.String propertyValue)
          Set the value of a specific RSS feed property.
 void setProxy(ipworks.Proxy proxy)
          A set of properties related to proxy access.
 void setReferer(java.lang.String referer)
          Referer URL/document (optional).
 void setRSSVersion(int RSSVersion)
          The RSS protocol version of the current RSS feed.
 void setTimeout(int timeout)
          A timeout for the bean.
 void setTransferredDataLimit(long transferredDataLimit)
          The maximum of data to be transferred.
 void setUser(java.lang.String user)
          A user name if authentication is to be used.
 void writeFile(java.lang.String filename)
          Write an RSS feed from the bean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

authBasic

public static final int authBasic
See Also:
Constant Field Values

authDigest

public static final int authDigest
See Also:
Constant Field Values

authProprietary

public static final int authProprietary
See Also:
Constant Field Values

authNone

public static final int authNone
See Also:
Constant Field Values

authNtlm

public static final int authNtlm
See Also:
Constant Field Values

frNever

public static final int frNever
See Also:
Constant Field Values

frAlways

public static final int frAlways
See Also:
Constant Field Values

frSameScheme

public static final int frSameScheme
See Also:
Constant Field Values

rssVersionUndefined

public static final int rssVersionUndefined
See Also:
Constant Field Values

rssVersion091

public static final int rssVersion091
See Also:
Constant Field Values

rssVersion092

public static final int rssVersion092
See Also:
Constant Field Values

rssVersion200

public static final int rssVersion200
See Also:
Constant Field Values
Constructor Detail

Rss

public Rss()
Method Detail

getAccept

public java.lang.String getAccept()
A list of acceptable MIME types for the request.

If the Accept property contains a non-empty string, an HTTP Accept header is added to the request.

The Accept header is used for content negotiation. It consists of a comma-separated list of acceptable MIME types.


setAccept

public void setAccept(java.lang.String accept)
               throws IPWorksException
A list of acceptable MIME types for the request.

If the Accept property contains a non-empty string, an HTTP Accept header is added to the request.

The Accept header is used for content negotiation. It consists of a comma-separated list of acceptable MIME types.

IPWorksException

getAuthScheme

public int getAuthScheme()
The authorization scheme to be used when server authorization is to be performed.

Use the AuthScheme property to tell the bean which type of authorization to perform when the User and Password properties are set.

AuthScheme should be set to authNone (3) when no authentication is expected.

By default, AuthScheme is authBasic (0), and if the User and Password properties are set, the bean will attempt basic authentication. If AuthScheme is set to authDigest (1), digest authentication will be attempted instead.

If AuthScheme is set to authProprietary (2) then the authorization token must be supplied through Authorization property. Note that, if you set the Authorization property, the AuthScheme will be set automatically to authProprietary (2) by the control.

If AuthScheme is set to authNtlm (4) NTLM authentication will be used. This option is only available in the SSL package.

For security reasons, setting this property will clear the values of User and Password .


setAuthScheme

public void setAuthScheme(int authScheme)
                   throws IPWorksException
The authorization scheme to be used when server authorization is to be performed.

Use the AuthScheme property to tell the bean which type of authorization to perform when the User and Password properties are set.

AuthScheme should be set to authNone (3) when no authentication is expected.

By default, AuthScheme is authBasic (0), and if the User and Password properties are set, the bean will attempt basic authentication. If AuthScheme is set to authDigest (1), digest authentication will be attempted instead.

If AuthScheme is set to authProprietary (2) then the authorization token must be supplied through Authorization property. Note that, if you set the Authorization property, the AuthScheme will be set automatically to authProprietary (2) by the control.

If AuthScheme is set to authNtlm (4) NTLM authentication will be used. This option is only available in the SSL package.

For security reasons, setting this property will clear the values of User and Password .

IPWorksException

getChannel

public ipworks.RSSChannel getChannel()
The channel of an rss feed.

This property has fields which contain values for sub-elements of the RSS Channel .


setChannel

public void setChannel(ipworks.RSSChannel channel)
                throws IPWorksException
The channel of an rss feed.

This property has fields which contain values for sub-elements of the RSS Channel .

IPWorksException

isConnected

public boolean isConnected()
Shows whether the bean is connected.

Use this property to determine whether the bean is connected to the remote host or not.


setConnected

public void setConnected(boolean connected)
                  throws IPWorksException
Shows whether the bean is connected.

Use this property to determine whether the bean is connected to the remote host or not.

IPWorksException

getCookies

public HTTPCookieList getCookies()
Collection of cookies.

All HTTPCOOKIE specified in the collection are added to the outgoing HTTP request.

The SetCookie event displays the cookies and their properties as set by the server, and those cookies are also maintained in the Cookies property.

MaxHTTPCookiescan be used to control the number of cookies saved.

This collection is indexed from 0 to Count - 1.


setCookies

public void setCookies(HTTPCookieList cookies)
                throws IPWorksException
Collection of cookies.

All HTTPCOOKIE specified in the collection are added to the outgoing HTTP request.

The SetCookie event displays the cookies and their properties as set by the server, and those cookies are also maintained in the Cookies property.

MaxHTTPCookiescan be used to control the number of cookies saved.

This collection is indexed from 0 to Count - 1.

IPWorksException

getFirewall

public ipworks.Firewall getFirewall()
A set of properties related to firewall access.

This is a FIREWALL type property which contains fields describing the firewall through which the bean will attempt to connect.


setFirewall

public void setFirewall(ipworks.Firewall firewall)
                 throws IPWorksException
A set of properties related to firewall access.

This is a FIREWALL type property which contains fields describing the firewall through which the bean will attempt to connect.

IPWorksException

getFollowRedirects

public int getFollowRedirects()
Determines what happens when the server issues a redirect.

Normally, the bean returns an error if the server responds with an "Object Moved" message. If FollowRedirects is set to frAlways (1) the new URL for the object is retrieved automatically every time.

If FollowRedirects is set to frSameScheme (2), the new URL is retrieved automatically only if the URLScheme is the same, otherwise the bean throws an IPWorksException raises an IPWorksException exception .

Note that following the HTTP specification, unless FollowRedirects is set to frAlways (1), automatic redirects will be performed only for 'GET' or 'HEAD' requests. Other methods could potentially change the conditions of the initial request and create security vulnerabilities.

Furthermore, if either the new URL server and port are different than the existing one, User and Password are also reset to empty, unless FollowRedirects is set to frAlways (1), in which case the same credentials are used to connect to the new server.

A Redirect event is fired for every URL the product is redirected to. In the case of automatic redirections, the Redirect event is a good place to set properties related to the new connection (e.g. new authentication parameters).

The default value is frNever (0). In this case, redirects are never followed, and a runtime error is generated instead.


setFollowRedirects

public void setFollowRedirects(int followRedirects)
                        throws IPWorksException
Determines what happens when the server issues a redirect.

Normally, the bean returns an error if the server responds with an "Object Moved" message. If FollowRedirects is set to frAlways (1) the new URL for the object is retrieved automatically every time.

If FollowRedirects is set to frSameScheme (2), the new URL is retrieved automatically only if the URLScheme is the same, otherwise the bean throws an IPWorksException raises an IPWorksException exception .

Note that following the HTTP specification, unless FollowRedirects is set to frAlways (1), automatic redirects will be performed only for 'GET' or 'HEAD' requests. Other methods could potentially change the conditions of the initial request and create security vulnerabilities.

Furthermore, if either the new URL server and port are different than the existing one, User and Password are also reset to empty, unless FollowRedirects is set to frAlways (1), in which case the same credentials are used to connect to the new server.

A Redirect event is fired for every URL the product is redirected to. In the case of automatic redirections, the Redirect event is a good place to set properties related to the new connection (e.g. new authentication parameters).

The default value is frNever (0). In this case, redirects are never followed, and a runtime error is generated instead.

IPWorksException

isIdle

public boolean isIdle()
The current status of the component.

Idle will be False if the component is currently busy (communicating and/or waiting for an answer), and True at all other times.


getIfModifiedSince

public java.lang.String getIfModifiedSince()
A date determining the maximum age of the desired document.

If the IfModifiedSince property contains a non-empty string, an If-Modified-Since HTTP request header is added to the request. The value of the header is used to make the HTTP request conditional: if the requested documented has not been modified since the time specified in the field, a copy of the document will not be returned from the server; instead, a 304 (not modified) response will be returned by the server and the bean throws an IPWorksException raises an IPWorksException exception

The format of the date value for IfModifiedSince is detailed in the HTTP specs. An example is Sat, 29 Oct 1994 19:43:31 GMT.


setIfModifiedSince

public void setIfModifiedSince(java.lang.String ifModifiedSince)
                        throws IPWorksException
A date determining the maximum age of the desired document.

If the IfModifiedSince property contains a non-empty string, an If-Modified-Since HTTP request header is added to the request. The value of the header is used to make the HTTP request conditional: if the requested documented has not been modified since the time specified in the field, a copy of the document will not be returned from the server; instead, a 304 (not modified) response will be returned by the server and the bean throws an IPWorksException raises an IPWorksException exception

The format of the date value for IfModifiedSince is detailed in the HTTP specs. An example is Sat, 29 Oct 1994 19:43:31 GMT.

IPWorksException

getItems

public RSSItemList getItems()
A collection of items in the current RSS feed.

This is a collection of items in the current RSS channel. When an RSS feed is parsed by the component, all of the items in the feed are stored as RSSITEM types in this collection.

This collection can also be populated before writing an RSS feed with WriteFile .

This collection is indexed from 0 to Count - 1.


setItems

public void setItems(RSSItemList items)
              throws IPWorksException
A collection of items in the current RSS feed.

This is a collection of items in the current RSS channel. When an RSS feed is parsed by the component, all of the items in the feed are stored as RSSITEM types in this collection.

This collection can also be populated before writing an RSS feed with WriteFile .

This collection is indexed from 0 to Count - 1.

IPWorksException

getLocalFile

public java.lang.String getLocalFile()
The path to a local file for downloading. If the file exists, it is overwritten. (optional)

The LocalFile property is used when getting a document.

If LocalFile is empty then the received data is provided through the parameters of the Transfer event.


setLocalFile

public void setLocalFile(java.lang.String localFile)
                  throws IPWorksException
The path to a local file for downloading. If the file exists, it is overwritten. (optional)

The LocalFile property is used when getting a document.

If LocalFile is empty then the received data is provided through the parameters of the Transfer event.

IPWorksException

getNamespaces

public XMLNamespaceList getNamespaces()
A collection of namespaces in the current namespace stack.

Each version of the RSS protocol defines a specific set of standard RSS feed properties. However, the general RSS protocol allows non-standard fields to be added through XML namespaces. This property contains a list of the XML namespaces that exist in the current RSS channel.

When parsing an RSS feed retrieved through the GetFeed method, the bean will store all properties that are standard in version 2.0 of the RSS protocol, regardless of the version given by the feed. For non-standard properties, it will verify that the property has a namespace and that the namespace is defined within the RSS feed. If a property's definition cannot be found, the bean throws an IPWorksException raises an IPWorksException exception . Non-standard fields can be retrieved through the GetProperty method.

When using the WriteFile method to generate an RSS feed that contains non-standard properties you must use the SetProperty method to set each non-standard property. The bean will ignore any property whose namespace is not defined when generating the RSSData .

Please see the GetProperty and SetProperty methods for details on argument syntax.

This collection is a hashtable type of collection, in which the prefix string is used as the key to the desired namespace.


setNamespaces

public void setNamespaces(XMLNamespaceList namespaces)
                   throws IPWorksException
A collection of namespaces in the current namespace stack.

Each version of the RSS protocol defines a specific set of standard RSS feed properties. However, the general RSS protocol allows non-standard fields to be added through XML namespaces. This property contains a list of the XML namespaces that exist in the current RSS channel.

When parsing an RSS feed retrieved through the GetFeed method, the bean will store all properties that are standard in version 2.0 of the RSS protocol, regardless of the version given by the feed. For non-standard properties, it will verify that the property has a namespace and that the namespace is defined within the RSS feed. If a property's definition cannot be found, the bean throws an IPWorksException raises an IPWorksException exception . Non-standard fields can be retrieved through the GetProperty method.

When using the WriteFile method to generate an RSS feed that contains non-standard properties you must use the SetProperty method to set each non-standard property. The bean will ignore any property whose namespace is not defined when generating the RSSData .

Please see the GetProperty and SetProperty methods for details on argument syntax.

This collection is a hashtable type of collection, in which the prefix string is used as the key to the desired namespace.

IPWorksException

getOtherHeaders

public java.lang.String getOtherHeaders()
Other headers as determined by the user (optional).

The OtherHeaders property contains a string of headers to be appended to the HTTP request headers created from other properties like ContentType , From , etc.

The headers must of the format "header: value" as specified in the HTTP specifications. Header lines should be separated by CRLF ("\\r\\n") .

Use this property with caution. If OtherHeaders contains invalid headers, HTTP requests may fail.

The OtherHeaders property is useful for extending the functionality of the bean beyond what is provided.


setOtherHeaders

public void setOtherHeaders(java.lang.String otherHeaders)
                     throws IPWorksException
Other headers as determined by the user (optional).

The OtherHeaders property contains a string of headers to be appended to the HTTP request headers created from other properties like ContentType , From , etc.

The headers must of the format "header: value" as specified in the HTTP specifications. Header lines should be separated by CRLF ("\\r\\n") .

Use this property with caution. If OtherHeaders contains invalid headers, HTTP requests may fail.

The OtherHeaders property is useful for extending the functionality of the bean beyond what is provided.

IPWorksException

getParsedHeaders

public HeaderList getParsedHeaders()
Collection of headers returned from the last retrieval.

Whenever headers are returned from the server, the headers are parsed into a collection of headers. Each HEADER in this collection contains information describing that header.

MaxHeaderscan be used to control the number of headers saved.

This collection is indexed from 0 to Count - 1.


getPassword

public java.lang.String getPassword()
A password if authentication is to be used.

If AuthScheme is set to HTTP Basic Authentication, The User and Password are Base64 encoded and the result is put in theAuthorizationconfig setting in the form "Basic [encoded-user-password]".

If AuthScheme is set to HTTP Digest Authentication, the User and Password properties are used to respond to the HTTP Digest Authentication challenge from the server.

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


setPassword

public void setPassword(java.lang.String password)
                 throws IPWorksException
A password if authentication is to be used.

If AuthScheme is set to HTTP Basic Authentication, The User and Password are Base64 encoded and the result is put in theAuthorizationconfig setting in the form "Basic [encoded-user-password]".

If AuthScheme is set to HTTP Digest Authentication, the User and Password properties are used to respond to the HTTP Digest Authentication challenge from the server.

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.

IPWorksException

getProxy

public ipworks.Proxy getProxy()
A set of properties related to proxy access.

This is a PROXY type property which contains fields describing the proxy through which the bean will attempt to connect.


setProxy

public void setProxy(ipworks.Proxy proxy)
              throws IPWorksException
A set of properties related to proxy access.

This is a PROXY type property which contains fields describing the proxy through which the bean will attempt to connect.

IPWorksException

getReferer

public java.lang.String getReferer()
Referer URL/document (optional).

If the Referer property contains a non-empty string, a Referer HTTP request header is added to the request. The purpose of the header is to show the document referring the requested URL.


setReferer

public void setReferer(java.lang.String referer)
                throws IPWorksException
Referer URL/document (optional).

If the Referer property contains a non-empty string, a Referer HTTP request header is added to the request. The purpose of the header is to show the document referring the requested URL.

IPWorksException

getRSSData

public java.lang.String getRSSData()
The complete text of the RSS XML file.

When retrieving RSS feeds through the GetFeed or HTML through the GetURL method, this will contain the complete original text of the feed. When writing an RSS feed using the WriteFile method, the bean RSSData will be generated from the existing properties.


getRSSVersion

public int getRSSVersion()
The RSS protocol version of the current RSS feed.

RSSVersion is the protocol version to which the current RSS feed conforms. Each version has slightly different requirements and a different set of defined standard properties. When generating an RSS feed, the bean will check this value and throw an error for missing required properties.

The following are the values currently recognized by the bean:

0
rssVersionUndefined
1
rssVersion091
2
rssVersion092
3
rssVersion200

In order to set properties not defined in the given version, use the Namespaces collection to list and define namespace,s and the GetProperty and SetProperty methods to list and define each non-standard property.


setRSSVersion

public void setRSSVersion(int RSSVersion)
                   throws IPWorksException
The RSS protocol version of the current RSS feed.

RSSVersion is the protocol version to which the current RSS feed conforms. Each version has slightly different requirements and a different set of defined standard properties. When generating an RSS feed, the bean will check this value and throw an error for missing required properties.

The following are the values currently recognized by the bean:

0
rssVersionUndefined
1
rssVersion091
2
rssVersion092
3
rssVersion200

In order to set properties not defined in the given version, use the Namespaces collection to list and define namespace,s and the GetProperty and SetProperty methods to list and define each non-standard property.

IPWorksException

getTimeout

public int getTimeout()
A timeout for the bean.

If the Timeout property is set to 0, all operations will run uninterrupted until successful completion, or an error condition is encountered.

If Timeout is set to a positive value, the bean will wait for the operation to complete before returning control.

The bean will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and remains responsive.

If Timeout expires, and the operation is not yet complete, the bean throws an IPWorksException raises an IPWorksException exception .

Please note that by default, all timeouts are inactivity timeouts , i.e. the timeout period is extended by Timeout seconds when data is successfully sent or received.

Optionally, the behaviour of the bean may be changed to absolute timeouts , i.e. the bean will wait for a maximum of Timeout seconds since the beginning of the operation, without extending the timeout period during communications.

This behavior is controlled by theAbsoluteTimeoutconfiguration setting.

The default value for the Timeout property is 60 (seconds).


setTimeout

public void setTimeout(int timeout)
                throws IPWorksException
A timeout for the bean.

If the Timeout property is set to 0, all operations will run uninterrupted until successful completion, or an error condition is encountered.

If Timeout is set to a positive value, the bean will wait for the operation to complete before returning control.

The bean will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and remains responsive.

If Timeout expires, and the operation is not yet complete, the bean throws an IPWorksException raises an IPWorksException exception .

Please note that by default, all timeouts are inactivity timeouts , i.e. the timeout period is extended by Timeout seconds when data is successfully sent or received.

Optionally, the behaviour of the bean may be changed to absolute timeouts , i.e. the bean will wait for a maximum of Timeout seconds since the beginning of the operation, without extending the timeout period during communications.

This behavior is controlled by theAbsoluteTimeoutconfiguration setting.

The default value for the Timeout property is 60 (seconds).

IPWorksException

getTransferredData

public byte[] getTransferredData()
The contents of the last transfer.

If the LocalFile is empty, the data is accumulated in TransferredData . Otherwise, TransferredData returns an empty string.

TheMaxTransferredDataconfiguration setting controls the amount of data accumulated in TransferredData .


getTransferredDataLimit

public long getTransferredDataLimit()
The maximum of data to be transferred.

The default value is 0, which means there is no limit to the amount of data the bean will accumulate and parse. If this value is set to a number n which is greater than 0, the bean will only receive the first n bytes of data from the server.


setTransferredDataLimit

public void setTransferredDataLimit(long transferredDataLimit)
                             throws IPWorksException
The maximum of data to be transferred.

The default value is 0, which means there is no limit to the amount of data the bean will accumulate and parse. If this value is set to a number n which is greater than 0, the bean will only receive the first n bytes of data from the server.

IPWorksException

getTransferredHeaders

public java.lang.String getTransferredHeaders()
The full set of headers as received from the server.

This property returns the complete set of raw headers as received from the server.

The Header event shows the individual headers as parsed by the bean.


getUser

public java.lang.String getUser()
A user name if authentication is to be used.

If AuthScheme is set to HTTP Basic Authentication, The User and Password are Base64 encoded and the result is put in theAuthorizationproperty in the form "Basic [encoded-user-password]".

If AuthScheme is set to HTTP Digest Authentication, the User and Password properties are used to respond to the HTTP Digest Authentication challenge from the server.

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


setUser

public void setUser(java.lang.String user)
             throws IPWorksException
A user name if authentication is to be used.

If AuthScheme is set to HTTP Basic Authentication, The User and Password are Base64 encoded and the result is put in theAuthorizationproperty in the form "Basic [encoded-user-password]".

If AuthScheme is set to HTTP Digest Authentication, the User and Password properties are used to respond to the HTTP Digest Authentication challenge from the server.

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.

IPWorksException

addCookie

public void addCookie(java.lang.String cookieName,
                      java.lang.String cookieValue)
               throws IPWorksException
Sets a cookie and the corresponding value.

Please refer to the Cookies property for more information on cookies and how they are managed.

IPWorksException

addItem

public void addItem(java.lang.String title,
                    java.lang.String description,
                    java.lang.String link)
             throws IPWorksException
Insert a new item into the beginning of an RSS feed.

The AddItem method assumes that the items are new and more important than existing items and thus adds a the item to the beginning of the current item list. The method requires the three standard fields Title , Description , and Link to be specified.

 //set RSS channel properties or read in an existing file
 ...
 //Add new item
 RSSControl.AddNewItem("New Item Title", "Item Description", "http://www.itemsource.com")
 //write out complete RSS feed to file
 RSSControl.WriteFile(filename) 

IPWorksException

addNamespace

public void addNamespace(java.lang.String prefix,
                         java.lang.String namespaceURI)
                  throws IPWorksException
Adds a namespace to the Namespaces collection.

Prefix specifies the namespace prefix, and NamespaceURI specifies the namespace.

IPWorksException

config

public java.lang.String config(java.lang.String configurationString)
                        throws IPWorksException
Sets or retrieves a beanconfiguration setting.

Config is a generic method available in every bean. It is used to set and retrieveconfiguration settingsfor the bean.

Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the bean, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY , you must call Config("PROPERTY=VALUE") , where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY") . The value will be returned as a string.

IPWorksException

getFeed

public void getFeed(java.lang.String URL)
             throws IPWorksException
Fetch an RSS feed.

Fetch the document using the HTTP GET method. The document contents are delivered in the RSSData property, as well as through the Transfer event, and the HTTP response headers through the Header event. If the LocalFile property has been set, the bean will write the transferred data there.

The bean will then attempt to parse the RSS feed, filling in the Channel and Item properties as it goes. The feed properties can be accessed either directly through the named properties, or through the GetProperty and SetProperty methods.

IPWorksException

getProperty

public java.lang.String getProperty(java.lang.String propertyName)
                             throws IPWorksException
Get the value of a specific RSS feed item element or attribute.

This method is intended for extending functionality of the RSS bean. It will get the value for a specific item element or attribute of this RSS feed. Property is the XPath of the element or attribute according to the following convention: root/element@attribute . The @attribute part is optional, and the root field can be any of the four following values:

channel
This treats the channel as the root level, and element is any property of the channel. If the empty string ("") is supplied for the root field, the bean will assume channel as the root.
image
This treats the channel's image as the root level, and element is any property of an image.
textInput
This treats the channel's textInput as the root level, and element is any property of an textInput.
item[x]
This treats the channel's xth item as the root level where the indexer x starts at 1. The field element is any property of an item.

The element field can be any property of the root field, and attribute can be any property of that field. If an attribute is not supplied, the GetProperty method will return the text portion of element . For example:

 RSSControl.GetProperty("item[5]/guid@isPermaLink")
   RSSControl.GetProperty("item[5]/link")
   RSSControl.GetProperty("/channel/title") 

Note : in order to add non-standard fields (i.e. fields that are not defined in the RSS specification), element must be prefixed with a namespace that defines that field. The same applies for the attribute field. Use the Namespaces collection to define and list namespaces.

IPWorksException

getURL

public void getURL(java.lang.String URL)
            throws IPWorksException
Fetch an RSS feed.

Fetch the document using the HTTP GET method. The document contents are delivered in the RSSData property, as well as through the Transfer event, and the HTTP response headers through the Header event. If the LocalFile property has been set, the bean will write the transferred data there.

The bean will not parse the data returned by the server. For more control over the retrieval of the item link, please use the HTTP bean.

IPWorksException

interrupt

public void interrupt()
               throws IPWorksException
Interrupt the current method.

If there is no method in progress, Interrupt simply returns doing nothing.

IPWorksException

OPMLAttr

public java.lang.String OPMLAttr(java.lang.String attrName)
                          throws IPWorksException
Returns the value of the attribute specified in the parameter.

This method may be used to get the value of an attribute for an outline entry of an OPML document. The attribute desired must be specified in the parameter of this method. Also, this method must be invoked inside the OPMLOutline event.

IPWorksException

put

public void put(java.lang.String URL)
         throws IPWorksException
Sends data to the HTTP server using the HTTP PUT method.

Send data to the HTTP server using the HTTP PUT method. The data is taken from PostData and/or AttachedFile properties. The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well. The user should normally have assigned correct values to User and Password orAuthorization.

IPWorksException

readFile

public void readFile(java.lang.String fileName)
              throws IPWorksException
Load an RSS file into the bean.

The ReadFile method loads an RSS file and attempts to parse it, filling in the properties as it goes. The feed properties can be accessed either directly through the named properties, or through the GetProperty and SetProperty methods.

IPWorksException

readOPML

public void readOPML(java.lang.String OPMLFile)
              throws IPWorksException
Read and parse an OPML file.

The bean reads in the OPML file specified by OPMLFile . The bean then parses the file and returns the data to the user in the OPMLHeader and OPMLOutline events.

IPWorksException

reset

public void reset()
           throws IPWorksException
Reset all properties of the bean.

The Reset method resets all properties to the bean's default settings. This is an easy way to clear all of the property values before repopulating the RSS feed.

IPWorksException

setProperty

public void setProperty(java.lang.String propertyName,
                        java.lang.String propertyValue)
                 throws IPWorksException
Set the value of a specific RSS feed property.

This method is intended for extending functionality of the RSS bean. It will set the value for a specific field of this RSS feed. Property is the name of the property according to the following convention: root/element@attribute . The root field can be any of the four following values:

channel
This treats the channel as the root level, and element is any property of the channel. If the empty string ("") is supplied for the root field, the bean will assume channel as the root.
image
This treats the channel's image as the root level, and element is any property of an image.
textInput
This treats the channel's textInput as the root level, and element is any property of an textInput.
item[x]
This treats the channel's x-th item as the root level The field element is any property of an item.

The element field can be any property of the root field, and attribute can be any property of that field. If an attribute is not supplied, Value will be placed in the text portion of element . For example:

 RSSControl.SetProperty("item[5]/guid@isPermaLink", "true") 

Note : in order to add non-standard fields (i.e. fields that are not defined in the RSS specification), element must be prefixed with a namespace that defines that field. The same applies for the attribute field. Use the Namespaces collection to define and list namespaces.

IPWorksException

writeFile

public void writeFile(java.lang.String filename)
               throws IPWorksException
Write an RSS feed from the bean.

The WriteFile operation will write an RSS feed from the existing property values to Filename . The RSS feed will be pre-verified and any missing required fields will result in an error.

IPWorksException

addRssEventListener

public void addRssEventListener(ipworks.RssEventListener l)
                         throws java.util.TooManyListenersException
java.util.TooManyListenersException

removeRssEventListener

public void removeRssEventListener(ipworks.RssEventListener l)

IP*Works! V8

Copyright (c) 2007 /n software inc. - All rights reserved.