JavaFXPluginSpecification

Revision as of 12:49, 5 November 2009 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

JavaFX Plugin - Project System Functional Specification

Document Status Initial Draft


Contents


Introduction

JavaFX plugin module allows IDE to manipulate with sources files grouped into logical units - projects. Project system provide following basic functionality:

  • project operations (create, open, close, delete, move, copy, rename);
  • source files operations (open, create, delete, cut, copy, paste, rename, adding the source directories);
  • libraries operations;
  • displaying project structure;
  • development lifecycle operations (build, compile, clean, run, debug);
  • configuration of execution parameters;
  • project deployment;
  • refactoring support;
  • auxiliary operations (search, version control, javadoc);
  • provide compatibility of java and fx projects.

Related Documents

Project Operations

Creating Project

Creating of a new project consist in creating of certain directories structure and some auxiliary data that describes project for IDE. Java FX project may be created by using standard NetBeans New Project Wizard with Java FX project type specified.

Create Project

Full description of the New Project Wizard may be found at http://projects.netbeans.org/buildsys/build-sys-ui-spec-promoe.html#New_Project_Wizard At the stage of creating project there are three options concerning source files:

  • create an empty project;
  • add the existing sources;
  • create a project using existing Java project as a template.

Also there is a possibility to to set a main class.

Name and Location

The Java FX project directory structure is similar to that is used for the Java project. Full description may be found at http://projects.netbeans.org/buildsys/design.html#project-layout.

Opening, closing, deleting project

This operations may be invoked by the way that is used in standard NetBeans? Project System UI. Specification for the Open Project Wizard may be found here: http://projects.netbeans.org/buildsys/build-sys-ui-spec-promoe.html#Open_Project_Dialog\http://projects.netbeans.org/buildsys/build-sys-ui-spec-promoe.html#Open_Project_Dialog

Renaming, moving, copying project

This operations is invoked from context menu of Projects Tab similarly to Java Project System UI.

Rename

Source files operations.

Create files.

This operation may be invoked from global menu, toolbar or context menu of Projects Tab similarly to Java Project System UI. The file types allowed to add are primarily Java FX, Java Classes, and also all types allowed for Java project. To create file the standard NetBeans? New File Wizard is used. See description at http://projects.netbeans.org/buildsys/build-sys-ui-spec-promoe.html#New_File_Wizard

Delete, cut, copy, paste, rename file.

This operations are applied to project resource files (i.e. images, htmls, texts, etc.). Rename, copy and paste operations with JavaFX and Java files is provided by refactoring support. Operations described may be invoked by the way that is used in standard NetBeans Project System UI.

Adding the source directories

Adding the source directories is available from Source Node of Project Properties Dialog. The appearance of that dialog is similar to standard Java project except of absence of Test Package Folders items. See description at http://projects.netbeans.org/buildsys/freeform-project-ui-spec-promoe.html#Sources

Displaying project structure.

The project structure is represented by two views which allow the user to browse a project contents - Logical and Phisical Views. A Logical View shows the logical hierarchy of project's sources and is presented in Projects Window in the IDE.

Projects Panel

A Physical View shows the file hierarchy (to be precise the file system hierarchy) of project folder. In the IDE, the physical view is presented in Files Window.

Files Panel

Libraries operations

The library mananagement is avalable throw the Libraries node of the Project Proprties Dialog. As for standard Java project adding of libraries is possible in three forms:

  • project (i.e. runtime classpath of specified project)
  • library (i.e. java class library - one ore more jars)
  • jar/folder

Libraries

Development life cycle operations

The most important operations are:

  • build - compile Java sources and create the JAR;
  • compile - compile Java FX or Java sources;
  • run - run the program;
  • debug - debug the program;

This operations is associated with apropriate menu items global menu, toolbar or context menu of Projects Tab as for standard Java project UI.

Note. In fact the goal of compile is to check syntax of source file. The results of compilation (i.e. class files for Java sources and fx files) is stored in \Build\classes\ subfolder of a project repeating structure of the source folders at lower levels.

Configuration of execution parameters

Configuration of execution parameters is provided by Run Node of Project Properties Dialog. It includes:

  • main class;
  • arguments;
  • working directory;
  • VM options;
  • run with java Web Start;

See description of Project Properties Dialog Run Node at http://projects.netbeans.org/buildsys/j2se-project-ui-spec-promoe.html#Run.

Project Deployment

Project system should allow deployment of

Distribution

The product could be distributed in four forms:

There is a special folder \dist\ in project directory structure that contains distribution data.

Application distribution

Application distribution type is a distribution in form of JAR-file with the main class set and all necessary runtime libraries included.

Library distribution

Conversely to application library distribution type corresponds to the JAR-file without the main class set and runtime libraries included.

JNLP

See JavaFX Plugin WebStart Specification

Applet

See JavaFX Plugin Applet Deployment Specification

Other

TBD
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo