Java Persistence, XML W3C DOM APIs, Web Applications, Code Generation

Simple bullet point list of Cut The Crap Software features.

Storage

  • pure java file-based storage
  • low java VM resource usage
  • constant time allocation/re-allocation algorithms
  • updateable and write-once options
  • transaction management with rollback
  • stream storage protocol to support efficient BLOB allocation/retrieval
  • access to historical data with write-once store
  • buffered and sorted write updates for performance
  • Generic Persistent Object (GPO) Model

  • a persistent object model not just a persistence mechanism
  • automatic object reference integrity maintenance
  • scalable and efficient one-many, many-many object navigation
  • transparent and directly accessible indexing objects - classifiers
  • classify one-many and many-many sets
  • store any serializable java object as a property value
  • direct access to stream value objects - such as mp3 data
  • connectionless (UDP) client-server
  • efficient serializable transaction isolation
  • incremental update strategy for long-lived transactions
  • object-level support for historical data access
  • formulas for spreadsheet type calculated values
  • formulas formulas now include charts rendered using InterActor
  • The Alchemist

  • a GPO system generator
  • supports formula definitions
  • supports type restrictions
  • generates complete GPO system from xml model definition
  • generates Ant build files
  • generates support for MetaView graphical browser
  • generates support for WebView graphical browser for instantly deployable web applications
  • Meta Data

  • provides meta data about an object
  • one-many and many-many object association data
  • supports object update
  • supports creation of dependent objects
  • provides interface to classification lookup structures
  • supported by The Alchemist
  • InterActor

  • based on Java2D
  • a new compositional and event processing model
  • composition uses "slots" that have position and content
  • visual transition effects may be associatied with slots
  • simple geometry management
  • MetaView

  • built using InterActor
  • uses the Meta Data to render a generic visual interface
  • extensive use of drag and drop to associate objects
  • visual navigation of classification structures
  • WebView

  • a Struts and Tiles based version of MetaView
  • web-based access
  • complete application generated by The Alchemist
  • drag-and-drop object editing
  • type restrictions used to validate user input "as they type"
  • easy customisation using standard HTML and stylesheets
  • configuration options to declare custom reporting options (custom views)
  • supported by a range of custom JSP tags
  • supports rendering of charts generated by the spreadsheet model
  • Striterators

  • a new computational approach
  • adds stream processing to standard java Iterators
  • allows transformed iterators to be passed and processed incrementally
  • MiniDOM

  • built using SAX and Striterators
  • an alternative to SAX and DOM
  • registers handlers against tagged elements that are processed as a "MiniDOM"
  • some support for XPath for registering and navigation of delivered Elements
  • PDOM - Persistent DOM

  • persistent W3C DOM implemention
  • built using the GPO model
  • XPath support
  • scalably supports access to many named documents each of which may be huge
  • QUDOM - Quick Unmodifiable DOM

  • read-only W3C DOM implemention
  • the priority is speed of parsing and low memory usage
  • typically 3-4 times faster than Xerces and uses around one-fifth the java memory
  • the same XPath module interface with QUDOM
  • CTCDOM - Cut The Crap DOM

  • W3C DOM implemention built using the CTCMap object
  • developed as a test for CTCMap
  • similar parse and process times to Xerces with 80% of the memory
  • the same XPath module interface with QUDOM and PDOM
  • validates the CTCMap class as a practical building block for real systems