System FileSystem Everything is a Stream. What is it? General registry of configuration data.

Slides:



Advertisements
Similar presentations
EziLink RESULTS Training Session 1 – Show and Tell For the Ministry of Forests, Lands and Natural Resource Operations.
Advertisements

1 Official Interface Guidelines by David Catmull User interface documentation published by Apple and Microsoft.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Resource Discovery Module DigiTool Version 3.0. Resource Discovery 2 Deposit Approval Search & Index Dispatcher & Viewers Single & Bulk Web Services DigiTool.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
The Dr ü G Book: An Intro to Drupal The Dr ü G Book: An Intro to Drupal (Dr ü G: Drupal User ’ s Group - users, not developers) This is an introduction.
(c) Bob McKillop, 2006Tutorial #1 T1-1 Tutorial #1 - your first compiled code  the learning objectives for this tutorial are very modest q compile and.
Process Maps “101” An introduction to QAD.NET UI’s Process Maps Stacy Green, BravePoint MWUG Mar 2013.
CS5103 Software Engineering Lecture 08 Android Development II.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course provides an overview of the installation and.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
File I/O Static void Main( ) {... } data. Topics I/O Streams Reading and Writing Text Files Formatting Text Files Handling Stream Errors File Pointers.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files.
Binding UI Components to Data. Adding UI Components to the Page You can create components on a page by: Dragging a component from the Component Palette.
Active-HDL Interfaces Building VHPI Applications C Compilation Course 9.
Recursive Functions Creating Hierarchical Reports Date: 9/30/2008 Dan McCreary President Dan McCreary & Associates (952) M.
05 | Administer Version Control Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
XP Practical PC, 3e Chapter 3 1 Installing and Learning Software.
ABC of Platform Workspace | Copyright © IBM Corp., All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder.
ABC of Platform Workspace | Copyright © IBM Corp., ABC of Platform Workspace Szymon Brandys Tomasz Zarna IBM Krakow Software Lab.
Unit 5, Lesson 1 Working with Databases. Objectives Identify the parts of the Access screen. Identify the parts of the Access screen. Understand the purpose.
Design Verification Code and Toggle Coverage Course 7.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
Package & Deploy. OBJECTIVES Package Deploy Way to package.
* DataSpace. * What is DataSpace * DataSpace is a third party add-on to ArcGIS Desktop * Developed by US Bureau of Reclamations * Allows the user to arrange.
HDFLook Some basic instructions on the functionality of the HDFLook software.
A GIS Data Management GUI for ArcMap
Basics of Windows 95/98/NT. Versions of Windows Windows 95 and 98 used mainly on standalone computers Windows NT used on networked computers (as in our.
CS378 - Mobile Computing More UI - Part 2. Special Menus Two special application menus – options menu – context menu Options menu replaced by action bar.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
1 Getting Started with C++ Part 1 Windows. 2 Objective You will be able to create, compile, and run a very simple C++ program on Windows, using Microsoft.
* DataSpace is a third party add-on to ArcGIS Desktop * Developed by US Bureau of Reclamations * Allows the user to arrange data without actually moving.
CS 201 Lecture 1 (b) Using an IDE Tarik Booker CS 201: Introduction to Programming California State University, Los Angeles.
Development of the EDEX plug-in Ingest overview Manual Endpoint LDM DistributionSrv Plugin decoder Plugin Data Object PersistIndexSrv NotificationSrv.
Data Objects & Editors David Šimonek Sun Microsystems.
A First NetBeans Platform Application David Šimonek Sun Microsystems.
Getting Started with the NetBeans Platform. Extending NetBeans Possibilities > single module > suite of modules > standalone application > like a suite.
NetBeans Platform intro Emilian Bold. What's it about ? ● Contains usual desktop application items: – Window management – Menu & tool bar management –
Porting a Swing Application to the NetBeans Platform Anton Epple
NetBeans Rich Client Platform Alex Kotchnev Software Developer Commerce Technologies Inc. Alex Kotchnev Software Developer Commerce Technologies Inc.
Data Objects & Editors Tim Boudreau Senior Staff Engineer Sun Microsystems.
Consumer IDE Jiri Rechtacek Geertjan Wielenga Sun Microsystems.
Packaging and Deploying Windows Applications
Dispatcher Phoenix Is…
Installing and Learning Software
Mobile Applications (Android Programming)
Installing and Learning Software
Goals Give you a feeling of what Eclipse is.
Geertjan Wielenga
CARA 3.10 Major New Features
IBM Rational Rhapsody Advanced Systems Training v7.5
Data Virtualization Tutorial: XSLT and Streaming Transformations
Data Objects & Editors David Strupl Staff Engineer Sun Microsystems.
An In-Depth Look at the Autodesk® AutoCAD® App Autoloader Module
New Features in NetBeans Platform 6.5.
Geertjan Wielenga This presentation introduces Swing Application Framework and Beans Binding JSRs. These are two new JSRs.
Productivity Tools Extensions to NetBeans IDE that make life easier
EndNote by: fatimah alotaibi.
CS5103 Software Engineering
File type associations and AutoPlay
Electronics II Physics 3620 / 6620
Introduction to JUnit IT323 – Software Engineering II
Computer Forensics Lab 1 INFORMATION TECHNOLOGY DEPARTMENT LEBANESE FRENCH UNIVERSITY (LFU) COURSE CODE: IT402CF 1.
PecConfig March 17th, 2015 Cathy Ding
Java Code Review with CheckStyle
Plug-In Architecture Pattern
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

System FileSystem Everything is a Stream

What is it? General registry of configuration data

What is it? General registry of configuration data tree structure folders/directories files and streams

What is it? General registry of configuration data > installation directory vs. user directory

What is a “filesystem”? NetBeans specific: > In NetBeans, we are dealing with virtual filesystems. > FileObjects, not java.io.File

FileObjects vs. java.io.File Get them from the filesystem, you do not create them. FileObjects have MIME types. FileObjects have attributes. FileObjects have input and output stream. You can listen for changes.

Lookup is a registry Simple registration of objects > put file in META-INF/services > default Lookup creates declared objects But: > want to associate additional attributes? > show objects in UI without instantiating? Examples: > Show icon in list, without creating object.

Filesystem is also a registry Filesystem > hierarchy of files and folders > e.g., local filesystem, works with real files > e.g., JARFilesystem > different folders for different purposes > declarative registration

System FileSystem

Giant sandwich... Every module provides a layer. A layer = an XML file. Each layer contains declarations for: > menu items, toolbar buttons > editor configurations > Options window settings > window persistence > + much more All of them together = System FileSystem

Demo Let's look at a layer file...

How do layers work? 1.NetBeans Platform starts up. 2.NetBeans Platform finds all layers. 3.XML Layers are merged, with one writable filesystem, into actual filesystem on disk. 4.NetBeans Platform opens. 5. Results of merge = application.

Influencing Content ● add to a folder ● delete from a folder ● install/uninstall module ● automatically adds/removes its files

Some Details About Layers ordering.instance vs..shadow.settings files instanceCreate methodValue localization icons

How to provide a layer? 1.Create a layer.xml file. 2.Add entries to folders to register your own folders and files. 3.Provide pointer to layer.xml, in manifest. = use a wizard

How to register in the layer? ● Type manually in the layer.xml file. ● Use wizards to get started. ● Actions ● Windows ● Options panels ●... ● Visual editing node ● Important files ● Layer/Layer in context

Demo Let's work with the layer file...

How to access the layer? FileObject root = Repository.getDefault(). getDefaultFileSystem(). getRoot(); FileObject dir = root.getFileObject("Menu"); FileObject dir = FileUtil.getConfigFile("Menu"); Pre-7.0 version:

Let's see what's in 'Menu'... public void performAction() { FileObject dir = FileUtil.getConfigFile("Menu"); FileObject dir = FileUtil.getConfigFile("Menu"); FileObject[] kids = dir.getChildren(); FileObject[] kids = dir.getChildren(); for (int i = 0; i < kids.length; i++) { for (int i = 0; i < kids.length; i++) { FileObject fileObject = kids[i]; FileObject fileObject = kids[i]; String name = fileObject.getName(); JOptionPane.showMessageDialog(null, name); JOptionPane.showMessageDialog(null, name); }}

Demo... Let's access it from code...

Is not that Too Complex I? ● Why learn File system API? ● I like Lookup! ● There is Lookups.forPath(String ctx) ● Like FileUtil.getConfigFile(ctx) ● Typed access ● Understands.instance,.settings files

Is not that Too Complex II? ● Why edit XML File system? ● Use annotations! ● ● completion ● type checked ● find usages ● define your own.

Demo... Use of annotations... What they generate...

Summary ● General Registry ● Raw Data ● Basic folder based API ● Menu/, Toolbars/, OptionsDialog/, Loaders/ ● Access via ● FileUtil.getConfigFile(ctx) ● Important Files Node ● Lookup.forPath(ctx)

Questions & Answers