Class ProgramContentHandler

  • All Implemented Interfaces:
    ContentHandler, ExtensionPoint

    public class ProgramContentHandler
    extends DBContentHandler
    ProgramContentHandler converts between Program instantiations and FolderItem storage. This class also produces the appropriate Icon for Program files.
    • Field Detail

      • PROGRAM_ICON

        public static javax.swing.ImageIcon PROGRAM_ICON
      • PROGRAM_CONTENT_TYPE

        public static final java.lang.String PROGRAM_CONTENT_TYPE
        See Also:
        Constant Field Values
    • Constructor Detail

      • ProgramContentHandler

        public ProgramContentHandler()
    • Method Detail

      • createFile

        public long createFile​(FileSystem fs,
                               FileSystem userfs,
                               java.lang.String path,
                               java.lang.String name,
                               DomainObject obj,
                               TaskMonitor monitor)
                        throws java.io.IOException,
                               InvalidNameException,
                               CancelledException
        Description copied from interface: ContentHandler
        Creates a new folder item within a specified file-system. If fs is versioned, the resulting item is marked as checked-out within the versioned file-system. The specified domainObj will become associated with the newly created database.
        Parameters:
        fs - the file system in which to create the folder item
        userfs - file system which contains associated user data
        path - the path of the folder item
        name - the name of the new folder item
        obj - the domain object to store in the newly created folder item
        monitor - the monitor that allows the user to cancel
        Returns:
        checkout ID for new item
        Throws:
        java.io.IOException - if an i/o error occurs
        InvalidNameException - if the specified name contains invalid characters
        CancelledException - if the user cancels
      • getImmutableObject

        public DomainObjectAdapter getImmutableObject​(FolderItem item,
                                                      java.lang.Object consumer,
                                                      int version,
                                                      int minChangeVersion,
                                                      TaskMonitor monitor)
                                               throws java.io.IOException,
                                                      VersionException,
                                                      CancelledException
        Description copied from interface: ContentHandler
        Open a folder item for immutable use. If any changes are attempted on the returned object, an IllegalStateException state exception may be thrown.
        Parameters:
        item - stored folder item
        consumer - consumer of the returned object
        version - version of the stored folder item to be opened. DomainFile.DEFAULT_VERSION (-1) should be specified when not opening a specific file version.
        minChangeVersion - the minimum version which should be included in the change set for the returned object. A value of -1 indicates the default change set.
        monitor - the monitor that allows the user to cancel
        Returns:
        immutable domain object
        Throws:
        java.io.IOException - if a folder item access error occurs
        VersionException - if unable to handle file content due to version difference which could not be handled.
        CancelledException - if operation is cancelled by user
      • getReadOnlyObject

        public DomainObjectAdapter getReadOnlyObject​(FolderItem item,
                                                     int version,
                                                     boolean okToUpgrade,
                                                     java.lang.Object consumer,
                                                     TaskMonitor monitor)
                                              throws java.io.IOException,
                                                     VersionException,
                                                     CancelledException
        Description copied from interface: ContentHandler
        Open a folder item for read-only use. While changes are permitted on the returned object, the original folder item may not be overwritten / updated.
        Parameters:
        item - stored folder item
        version - version of the stored folder item to be opened. DomainFile.DEFAULT_VERSION should be specified when not opening a specific file version.
        okToUpgrade - if true a version upgrade to the content will be done if necessary.
        consumer - consumer of the returned object
        monitor - the monitor that allows the user to cancel
        Returns:
        read-only domain object
        Throws:
        java.io.IOException - if a folder item access error occurs
        VersionException - if unable to handle file content due to version difference which could not be handled.
        CancelledException - if operation is cancelled by user
      • getDomainObject

        public DomainObjectAdapter getDomainObject​(FolderItem item,
                                                   FileSystem userfs,
                                                   long checkoutId,
                                                   boolean okToUpgrade,
                                                   boolean recover,
                                                   java.lang.Object consumer,
                                                   TaskMonitor monitor)
                                            throws java.io.IOException,
                                                   VersionException,
                                                   CancelledException
        Description copied from interface: ContentHandler
        Open a folder item for update. Changes made to the returned object may be saved to the original folder item.
        Parameters:
        item - stored folder item
        userfs - file system which contains associated user data
        checkoutId - an appropriate checout ID required to update the specified folder item.
        okToUpgrade - if true a version upgrade to the content will be done if necessary.
        recover - if true an attempt to recover any unsaved changes resulting from a crash will be attempted.
        consumer - consumer of the returned object
        monitor - cancelable task monitor
        Returns:
        updateable domain object
        Throws:
        java.io.IOException - if a folder item access error occurs
        VersionException - if unable to handle file content due to version difference which could not be handled.
        CancelledException - if operation is cancelled by user
      • getChangeSet

        public ChangeSet getChangeSet​(FolderItem item,
                                      int fromVer,
                                      int toVer)
                               throws VersionException,
                                      java.io.IOException
        Description copied from interface: ContentHandler
        Returns the object change data which includes changes made to the specified olderVersion through to the specified newerVersion.
        Parameters:
        item - versioned folder item
        fromVer - the older version number
        toVer - the newer version number
        Returns:
        the set of changes that were made
        Throws:
        VersionException - if a database version change prevents reading of data.
        java.io.IOException - if a folder item access error occurs
      • getDomainObjectClass

        public java.lang.Class<? extends DomainObject> getDomainObjectClass()
        Description copied from interface: ContentHandler
        Returns domain object implementation class supported.
      • getContentType

        public java.lang.String getContentType()
        Description copied from interface: ContentHandler
        Returns list of unique content-types supported. A minimum of one content-type will be returned. If more than one is returned, these are considered equivalent aliases.
      • getContentTypeDisplayString

        public java.lang.String getContentTypeDisplayString()
        Description copied from interface: ContentHandler
        A string that is meant to be presented to the user.
      • getDefaultToolName

        public java.lang.String getDefaultToolName()
        Description copied from interface: ContentHandler
        Returns the name of the default tool that should be used to open this content type
      • getIcon

        public javax.swing.Icon getIcon()
        Description copied from interface: ContentHandler
        Returns the Icon associated with this handlers content type.
      • isPrivateContentType

        public boolean isPrivateContentType()
        Description copied from interface: ContentHandler
        Returns true if the content type is always private (i.e., can not be added to the versioned filesystem).
      • getMergeManager

        public DomainObjectMergeManager getMergeManager​(DomainObject resultsObj,
                                                        DomainObject sourceObj,
                                                        DomainObject originalObj,
                                                        DomainObject latestObj)
        Description copied from interface: ContentHandler
        Get an instance of a suitable merge manager to be used during the merge of a Versioned object which has been modified by another user since it was last merged or checked-out.
        Parameters:
        resultsObj - object to which merge results should be written
        sourceObj - object which contains user's changes to be merged
        originalObj - object which corresponds to checked-out version state
        latestObj - object which corresponds to latest version with which the sourceObj must be merged.
        Returns:
        merge manager