oracle.ifs.server
Class S_ContentObject


java.lang.Object

  |

  +--oracle.ifs.server.S_LibraryObject

        |

        +--oracle.ifs.server.S_TieLibraryObject

              |

              +--oracle.ifs.server.S_SystemObject

                    |

                    +--oracle.ifs.server.S_TieSystemObject

                          |

                          +--oracle.ifs.server.S_ContentObject

All Implemented Interfaces:
IfsEventHandler, LibraryObjectInterface, SystemObjectInterface, Traceable
Direct Known Subclasses:
S_TieContentObject

public class S_ContentObject
extends S_TieSystemObject

The S_ContentObject class. This class handles the getting and setting of content.


Method Summary
protected  void deriveDefinition(S_LibraryObjectDefinition def)
          Add to the S_LibraryObjectDefinition for this class.
protected  void extendedPreFree(OperationState opState, S_LibraryObjectDefinition def)
          Processing appropriate for freeing this object
protected  void extendedPreInsert(OperationState opState, S_LibraryObjectDefinition def)
          Update any system attributes appropriate for creating this object
protected  void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition def)
          Update any system attributes appropriate for updating this object
 void filterContent(boolean plaintext, S_LibraryObject refObj)
          Generates an HTML or plaintext version of the content, via the InterMedia INSO filters.
 void generateSummary(java.lang.String pointOfView, long sizeAsPercent, long sizeAsNumParagraphs, java.lang.String summaryLevel, S_LibraryObject refObj)
          Generates one or more summaries for this content by submitting a request to InterMedia to generate summaries.
 void generateThemes(boolean fullThemes, S_LibraryObject refObj)
          Generates the Themes for this content by submitting a request to InterMedia Text to generate Themes.
 java.io.Reader getContentReader(S_LibraryObject refObj)
          returns a Reader representing the content.
 long getContentSize()
          returns the size (in bytes) of the content.
 java.io.InputStream getContentStream(S_LibraryObject refObj)
          returns an InputStream representing the content.
 java.io.Reader getFilteredContent(S_LibraryObject refObj)
          Gets the plaintext or HTML content of the document, previously generated by a call to filterContent()
 java.io.Reader getSummary(java.lang.String pointOfView, S_LibraryObject refObj)
          Gets a specific summary of this content, previously generated by a call to generateSummary().
 ContextTheme[] getThemes(S_LibraryObject refObj)
          Gets the Themes for this content, previously generated by a call to generateThemes().
 
Methods inherited from class oracle.ifs.server.S_LibraryObject
equals, free, getAttribute, getAttributeByUpperCaseName, getClassId, getClassObject, getId, getSession, handleEvent, hasNameAttribute, isTraced, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, toString, trace, update
 
Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
getId
 
Methods inherited from interface oracle.ifs.common.Traceable
getTraceLogger, isTraced, trace
 

Method Detail


deriveDefinition


protected void deriveDefinition(S_LibraryObjectDefinition def)
                         throws IfsException
Add to the S_LibraryObjectDefinition for this class. This this called by getDefinition() on S_LibraryObject. This must call super.deriveDefinition() before applying any class-specific changes to the S_LibraryObjectDefinition object.
Overrides:
deriveDefinition in class S_LibraryObject
Parameters:
def - the S_LibraryObjectDefinition that contains the definition of the target object.
Throws:
IfsException - if operation fails.

extendedPreInsert


protected void extendedPreInsert(OperationState opState,
                                 S_LibraryObjectDefinition def)
                          throws IfsException
Update any system attributes appropriate for creating this object
Overrides:
extendedPreInsert in class S_SystemObject
Parameters:
opState - current operation state
def - current object definition to be updated with system attributes
Throws:
IfsException - if operation fails.

extendedPreUpdate


protected void extendedPreUpdate(OperationState opState,
                                 S_LibraryObjectDefinition def)
                          throws IfsException
Update any system attributes appropriate for updating this object
Overrides:
extendedPreUpdate in class S_LibraryObject
Parameters:
the - operation state
def - current object definition to be updated with system attributes
Throws:
IfsException - if operation fails.

extendedPreFree


protected void extendedPreFree(OperationState opState,
                               S_LibraryObjectDefinition def)
                        throws IfsException
Processing appropriate for freeing this object
Overrides:
extendedPreFree in class S_LibraryObject
Parameters:
the - operation state
def - current object definition to be freed
Throws:
IfsException - if operation fails.

getContentStream


public java.io.InputStream getContentStream(S_LibraryObject refObj)
                                     throws IfsException
returns an InputStream representing the content.
Parameters:
refObj - the S_LibraryObject through which access to this content is allowed. This is typically a Document.
Returns:
the content as an InputStream
Throws:
IfsException - if the operation fails

getContentReader


public java.io.Reader getContentReader(S_LibraryObject refObj)
                                throws IfsException
returns a Reader representing the content.
Parameters:
refObj - the S_LibraryObject through which access to this content is allowed. This is typically a Document. This may through if this content does not have an associated character set.
Returns:
the content as a Reader
Throws:
IfsException - if the operation fails

getContentSize


public long getContentSize()
                    throws IfsException
returns the size (in bytes) of the content.
Returns:
the size of the content
Throws:
IfsException - if the operation fails

generateThemes


public void generateThemes(boolean fullThemes,
                           S_LibraryObject refObj)
                    throws IfsException
Generates the Themes for this content by submitting a request to InterMedia Text to generate Themes.

Each Theme may either be a single Theme word/phrase or a hierarchical list of parent Themes. If fullThemes is set to TRUE, every Theme will also have the full hierarchy of its parent Themes generated.

Parameters:
fullThemes - generates theme hierarchy information if TRUE
refObj - the S_LibraryObject which refers to this ContentObject and can verify access.
Throws:
IfsException - if the operation fails.

getThemes


public ContextTheme[] getThemes(S_LibraryObject refObj)
                         throws IfsException
Gets the Themes for this content, previously generated by a call to generateThemes().

Content may have up to fifty Themes. Each Theme may either be a single Theme word/phrase or a string of parent Themes, separated by colons (':').

There is a Weight associated with every Theme. A Weight is a numerical value that measures the importance of the Theme relative to other Themes for the content.

Parameters:
refObj - the S_LibraryObject which refers to this ContentObject and can verify access (typically a Document).
Returns:
an array of objects encapsulating a InterMedia Theme and its associated Weight
Throws:
IfsException - if the operation fails.

generateSummary


public void generateSummary(java.lang.String pointOfView,
                            long sizeAsPercent,
                            long sizeAsNumParagraphs,
                            java.lang.String summaryLevel,
                            S_LibraryObject refObj)
                     throws IfsException
Generates one or more summaries for this content by submitting a request to InterMedia to generate summaries.

If GENERIC is passed for pointOfView, then InterMedia will generate a single generic summary of the document, based on all the document Themes. If a specific Theme is passed for pointOfView, then InterMedia will generate a summary based on that Theme. Only the Themes generated for the document by a previous call to generateThemes() may be used as input for pointOfView. If a null value is passed for pointOfView, then InterMedia will generate a generic summary of the document, in addition to up to 50 other summaries, each based on one of Themes of the document. Only the Themes generated for the document by a previous call to generateThemes() may be used as input for pointOfView.

Summaries are generated either by selecting specific sentences from the document, or by selecting specific paragraphs from the document. If summaryLevel is set to "S", then InterMedia generates a sentence-level summary of the document. If summaryLevel is set to "P", then InterMedia generates a paragraph-level summary of the document.

The size of the summary generated for a document may be specified through the parameters sizeAsPercent and sizeAsNumParagraphs.

The parameter sizeAsPercent specifies the maximum number of paragraphs (or sentences) that will be included in the summary, as a percentage of the total number of paragraphs (or sentences) present in the content. The default is 10. To use the default value, pass 0 for sizeAsPercent.

The parameter sizeAsNumParagraphs specifies the maximum number of paragraphs (or sentences) that will be included in the summary. The default is 16. To use the default value, pass 0 for sizeAsNumParagraphs.

When both sizeAsNumParagraphs and sizeAsPercent are specified, the parameter that yields a smaller summary size will be used.

Parameters:
pointOfView - the specific Theme(s) based on which the summary is generated
sizeAsPercent - size of summary as a percentage of document size
sizeAsNumParagraphs - size of summary specified as number of paragraphs or sentences
summaryLevel - specifies whether summary is generated by selecting paragraphs or sentences
refObj - the S_LibraryObject which refers to this ContentObject and can verify access.
Throws:
IfsException - if the operation fails.

getSummary


public java.io.Reader getSummary(java.lang.String pointOfView,
                                 S_LibraryObject refObj)
                          throws IfsException
Gets a specific summary of this content, previously generated by a call to generateSummary().
Parameters:
pointOfView - get the summary that is based on this particular point of view
refObj - the S_LibraryObject which refers to this ContentObject and can verify access.
Returns:
a Reader for fetching the summary
Throws:
IfsException - if the operation fails.

filterContent


public void filterContent(boolean plaintext,
                          S_LibraryObject refObj)
                   throws IfsException
Generates an HTML or plaintext version of the content, via the InterMedia INSO filters. The format of the content to be filtered must be supported by the InterMedia filters.
Parameters:
plaintext - when TRUE, indicates that a plaintext version of the document must be generated, otherwise an HTML version will be generated
refObj - the S_LibraryObject which refers to this ContentObject and can verify access.
Throws:
IfsException - if the operation fails.

getFilteredContent


public java.io.Reader getFilteredContent(S_LibraryObject refObj)
                                  throws IfsException
Gets the plaintext or HTML content of the document, previously generated by a call to filterContent()
Parameters:
refObj - the S_LibraryObject which refers to this ContentObject and can verify access.
Returns:
a Reader for fetching the plaintext or HTML content
Throws:
IfsException - if the operation fails.