1 / 16

File Processing

File Processing. You've achieved success in your field when you don't know whether what you're doing is work or play. Warren Beatty (1937 - ). Classes. Classes entities within a system imported e.g. Turtle of same project write more than one class Instances objects created via new

gin
Download Presentation

File Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File Processing You've achieved success in your field when you don't know whether what you're doing is work or play. Warren Beatty (1937 - )

  2. Classes • Classes • entities within a system • imported • e.g. Turtle • of same project • write more than one class • Instances • objects created via new • Instance variables • object’s memory • state • Methods • things object can do • behaviour • System execution via interacting objects

  3. Methods • Method calls • local • methodname ( paramlist ) • of another object • object . methodname ( paramlist ) • this . methodname ( paramlist ) • Behaviour depends on state • e.g. effect of forward depends on pen state and direction • methods refer to instance variables • can base actions on values of instance variables • loops, decisions • Role of constructor • well-defined initial state

  4. Case Study: Payroll System • Problem • Payroll report based on multiple binary data files • Analysis & design • entities • items (Employees) • details about item • Payroll report generator • process for generating report • Merge algorithm • Combine 2 binary data files into one.

  5. Employee Class • Class • not a main class • no method main • Execution • only when methods (constructor) called • Attributes/instance variables • Algorithms/methods • constructors • default • methods • accessor/updater • operations

  6. Persistent Objects • Lifetime extends beyond a single program execution • Binary I/O • Record (object) at-a-time • Serializable • serialVersionUID • BinaryOutputFile • writeObject() • subtype • upcasting to Object • always valid • BinaryDataFile • readObject() • must downcast to expected type • not a conversion • ClassCastException

  7. Creating a Binary File • MakeEmpFile class • only used once to bootstrap system • Employee records • data from a text file (ASCIIDataFile) • reads text record using Employee constructor • writes Employee object using writeObject

  8. Listing Contents of a Binary File • Working with internal representation • cannot view using text editor • must use same Employee class • or won’t be able to read • don’t make copy, use same file • programs in same package or import necessary classe(s) (e.g. Employee) • can be more than one main class in a package • Listing Employee File • program to read binary file and display as text • in same package (Payroll_System) • Creating the Employee File • Payroll3 assumes Employee objects are already in existence • must be a program to create Employee objects initially • in same package (Payroll_System)

  9. Payroll3 Class • Binary input • note: no use of Employee constructor – objects already exist • Processing algorithm • process to EOF • update record

  10. Class Design • Cohesion • Selective disclosure • only what client needs to know • hide representation and implementation • Accessor and updater methods • instance variables • private • if accessible, provide accessor method • Java convention: getxxx • if updateable, provide updater method • Java convention setxxx • pseudo attributes • Methods/Constructors • private vs public

  11. File Processing • large collections of data • sequential processing • batch • sequential devices • typically sorted by key • random processing • real-time/on-line • direct access device • access by key • key • primary key

  12. File Merge • combine two like files • maintain key order • basic algorithm • by hand • combine sorted piles • rationale • by computer • files & records • algorithm • improvements • sentinel • pattern • filter method

  13. E.g. Employee File Merge • HIGH_KEY • key for sentinel record • greater than all naturally occurring keys • termination condition • getRec • input filter • creates sentinel object at EOF • Equal keys? • unique records? • error situation vs duplicate keys vs combine records

  14. File Update • master file • transaction file • transactions • updating • random processing • immediate • sequential processing • batch transactions • batch processing • new master file

  15. Sequential File Update • sequential processing • batched transactions • backups • report generation • key comparison • master < trans • transaction applies to later master • master = trans • transaction applies to this master • master > trans • must apply to earlier master • no master for transaction • error • add new record • pattern

  16. The End

More Related