Component-Based Development
|
|
- Evangeline Cameron
- 6 years ago
- Views:
Transcription
1 Component-Based Development Marco Scotto
2 Outline Views Introduction View Declaration View Model Content Provider Label Provider 2
3 Introduction (1/5) Many plug-ins either add a new Eclipse view or enhance an existing Eclipse view as a way to provide information to the user 3
4 Introduction (2/5) Views must implement the org.eclipse.ui.iviewpart interface. Typically views are subclasses of org.eclipse.ui.part.viewpart and thus indirectly subclasses of org.eclipse.ui.part.workbenchpart, inheriting much of the behavior needed to implement the IViewPart interface 4
5 Introduction (3/5) 5
6 Introduction (4/5) Views are contained in a view site, (an instance of org.eclipse.ui.iviewsite), which in turn are contained in a workbench page (an instance of org.eclipse.ui.iworkbenchpage). In the spirit of lazy initialization, the IWorkbenchPage holds on to instances of org.eclipse.ui.iviewreference rather than the view itself so that views can be enumerated and referenced without actually loading the plug-in defining the view. 6
7 Introduction (5/5) Because there are potentially 100 s of views in the workbench, views are organized into categories. The Show View dialog presents a list of views organized by category so that the user can more easily find the desired view. 7
8 View Declaration There are three parts involved in creating a new view: Define the view category in the plug-in manifest file Define the view in the plug-in manifest file Create the view part containing the code 8
9 Declaring a View Category (1/4) First, to define the new view category, edit the plug-in manifest and navigate to the Extensions page Click the Add button to add the org.eclipse.ui.views extension if it is not already present 9
10 Declaring a View Category (2/4) The Main View Settings dialog is used modify the attributes of the view For the category containing the Tasks view, the attributes would be as follows: Java Package Name it.unibz.plugins.tasks.views the package of the view class View Class Name TasksView the name of the class defining the view and implementing the org.eclipse.ui.iviewpart interface. The class is instantiated using its no argument constructor, but may be parameterized using the IExecutableExtension interface. name Tasks View the human readable name for the view displayed in the view s title bar and in the Show View dialog View Category Id it.unibz.plugins the unique identifier for the category View Category Name UniBZ plugins the human readable name for the category that appears in the Show View dialog 10
11 Declaring a View Category (3/4) 11
12 Declaring a View Category (4/4) Click on Next Unselect all checkboxes Click on Finish 12
13 ViewPart The code defining the view s behavior is found in a class implementing the org.eclipse.ui.iviewpart interface, typically by subclassing the org.eclipse.ui.part.viewpart abstract class 13
14 View Methods (1/2) createpartcontrol(composite) required. Create the controls comprising the view. Typically this method simply calls more finely grained methods such as createtable, createsortactions, createfilters, etc. dispose() Cleanup any platform resources, such as images, clipboard, etc, that were created by this class. This follows the if you create it you destroy i theme that runs throughout Eclipse 14
15 View Methods (2/2) getadapter(class) Returns the adapter associated with the specified interface so that the view can participate in various workbench actions. Adapters returned by views include IShowInSource, IShowInTarget, and IContributedContentsView among others savestate(imemento) - Save the local state of this view, such as the current selection, current sorting, current filter, etc. setfocus() required. Set focus to the appropriate control within the view 15
16 View Controls (1/4) Views can contain any type and number of controls, but typically a view such as the Tasks view contains a single table or tree control 16
17 View Controls (2/4) The Tasks view could use the SWT table widget directly, but the higher level JFace table viewer wraps the SWT table widget and is easier to use It handles much of the underlying grunt work, allowing us to add, select, and remove our model objects directly rather than dealing with the underlying instances of TableItem 17
18 View Controls (3/4) With this in mind, we start by enhancing the createpartcontrol( ) method Table table = new Table(parent, SWT.SINGLE SWT.H_SCROLL SWT.V_SCROLL SWT.FULL_SELECTION); table.setheadervisible(true); table.setlinesvisible(true); TableColumn column = new TableColumn(table, SWT.NONE, 0); column.settext("completed"); column.setwidth(50); column.setalignment(swt.left); column = new TableColumn(table, SWT.NONE, 1); column.settext("description"); column.setwidth(100); column.setalignment(swt.left); column = new TableColumn(table, SWT.NONE, 2); column.settext("owner"); column.setwidth(100); column.setalignment(swt.left); 18
19 View Controls (4/4) column = new TableColumn(table, SWT.NONE, 3); column.settext("percentage"); column.setwidth(50); column.setalignment(swt.left); viewer = new TableViewer(table); viewer.setcontentprovider(new TaskViewContentProvider()); viewer.setlabelprovider(new TaskViewLabelProvider()); viewer.setinput(taskmanager.getmanager()); 19
20 View Model A view may have its own internal model such as the our view, or use existing model objects such as an IResource and its subtypes, or not have any model at all In our case, we create: Task a class that represents our business objects TaskManager holds task objects 20
21 Task class (1/2) package it.unibz.plugins.tasks.model; public class Task { private boolean completed = false; private String description = ""; private String owner = "?"; private int percentcomplete = 0; public Task(String string) { super(); setdescription(string); public boolean iscompleted() { return completed; public String getdescription() { return description; 21
22 Task class (2/2) public String getowner() { return owner; public int getpercentcomplete() { return percentcomplete; public void setcompleted(boolean b) { completed = b; public void setdescription(string string) { description = string; public void setowner(string string) { owner = string; public void setpercentcomplete(int i) { percentcomplete = i; 22
23 TaskManager class (1/3) package it.unibz.plugins.tasks.model; import java.util.*; public class TaskManager { private static TaskManager manager = null; private Collection tasks; private List listeners = new ArrayList(); private TaskManager() { public static TaskManager getmanager() { if (manager == null) manager = new TaskManager(); return manager; public Task[] gettasks() { if (tasks == null) loadtasks(); return (Task[]) tasks.toarray(new Task[tasks.size()]); 23
24 TaskManager class (2/3) public void addtask(task[] items) { Task[] removedtasks = new Task[] {; if (tasks == null) loadtasks(); if (tasks.addall(arrays.aslist(items))) firetaskchanged(items, removedtasks); public void removetask(task[] items) { Task[] addedtasks = new Task[] {; if (tasks == null) loadtasks(); if (tasks.removeall(arrays.aslist(items))) firetaskchanged(addedtasks, items); private void loadtasks() { tasks = new HashSet(5); Task t1 = new Task("Maintainance"); tasks.add(t1); Task t2 = new Task("Development"); t2.setowner("teama"); t2.setpercentcomplete(20); tasks.add(t2); 24
25 TaskManager class (3/3) /////// TaskManagerListener methods //////////// public void addtasksmanagerlistener( TaskManagerListener listener) { if (!listeners.contains(listener)) listeners.add(listener); public void removetaskmanagerlistener(taskmanagerlistener listener) { listeners.remove(listener); private void firetaskchanged(task[] itemsadded, Task[] itemsremoved) { TaskManagerEvent event = new TaskManagerEvent(this, itemsadded, itemsremoved); for (Iterator iter = listeners.iterator(); iter.hasnext();) ((TaskManagerListener) iter.next()).taskchanged(event); 25
26 TaskManagerEvent class package it.unibz.plugins.tasks.model; public class TaskManagerEvent { private Task[] added; private Task[] removed; private TaskManager manager; public TaskManagerEvent(TaskManager manager, Task[] added, Task[] removed) { this.manager = manager; this.added = added; this.removed = removed; public Task[] getitemsremoved() { return removed; public Task[] getitemsadded() { return added; 26
27 TaskManagerListener interface package it.unibz.plugins.tasks.model; public interface TaskManagerListener { /** event */ public void taskchanged(taskmanagerevent event); 27
28 Content Provider Once the model objects have been created, they need to be linked into the view A content provider is responsible for extracting objects from an input object, in this case the TaskManager, and handing them to the table viewer for displaying, one object in each row of the table Although the IStructuredContentProvider does not specify this, we will also make the content provider responsible for updating the viewer when the TasksManager s content changes 28
29 Content Provider Class (1/2) package it.unibz.plugins.tasks.views; import org.eclipse.jface.viewers.*; import it.unibz.plugins.tasks.model.*; class TaskViewContentProvider implements IStructuredContentProvider, TaskManagerListener { private TableViewer viewer; private TaskManager manager; public void inputchanged(viewer viewer, Object oldinput, Object newinput) { this.viewer = (TableViewer) viewer; if (manager!= null) manager.removetaskmanagerlistener(this); manager = (TaskManager) newinput; if (manager!= null) manager.addtasksmanagerlistener(this); 29
30 Content Provider Class (2/2) public void dispose() { public Object[] getelements(object parent) { return manager.gettasks(); public void taskchanged(taskmanagerevent event) { viewer.gettable().setredraw(false); try { viewer.remove(event.getitemsremoved()); viewer.add(event.getitemsadded()); finally { viewer.gettable().setredraw(true); 30
31 Label Provider The label provider takes a table row object returned by the content provider and extracts the value to be display in a column. After refactoring the FavoritesView.ViewLabelProvider inner class into a top-level class, and reworking it to extract values from the newly created model object, it looks something like the code shown below: 31
32 Label Provider Class (1/2) package it.unibz.plugins.tasks.views; import it.unibz.plugins.tasks.model.task; import org.eclipse.jface.viewers.*; import org.eclipse.swt.graphics.*; class TaskViewLabelProvider extends LabelProvider implements ITableLabelProvider { public String getcolumntext(object obj, int index) { Task t = (Task) obj; switch (index) { case 0 : // Completed column if (t.iscompleted()) return "yes"; else return "no"; 32
33 Label Provider Class (2/2) case 1 : // Description column return t.getdescription(); case 2 : // Location column return t.getowner(); case 3 : return new Integer(t.getPercentComplete()).toString(); default : return ""; public Image getcolumnimage(object obj, int index) { return null; 33
Creating an Eclipse View
Copyright 2001 Object Technology International, Inc. Eclipse Corner Article Creating an Eclipse View Summary In the Eclipse Platform a view is typically used to navigate a hierarchy of information, open
More informationI A D P A T A B L E A N D W O R K B E N C H
I A D P A T A B L E A N D W O R K B E N C H I m p l e m e n t i n g a W o r k b e n c h V i e w a n d U s i n g I A d a p t a b l e 1 9 A u g u s t 2 0 0 8 TABLE OF CONTENTS 1 Goals...3 2 Defining A View...4
More informationHow to design graphical applications with Eclipse 3.0. SWT/JFace IN ACTION. Matthew Scarpino Stephen Holder Stanford Ng Laurent Mihalkovic MANNING
How to design graphical applications with Eclipse 3.0 SWT/JFace IN ACTION Matthew Scarpino Stephen Holder Stanford Ng Laurent Mihalkovic MANNING SWT/JFace in Action Chapter 9 MATTHEW SCARPINO STEPHEN HOLDER
More informationWorkbench Selection 2/15
W o r k b e n c h S e l e c t i o n U s i n g S e l e c t i o n S e r v i c e w i t h a C u s t o m V i e w Table of Contents 1 Introduction... 3 2 Defining A View... 4 3 Implementing SelectionView...
More informationThe New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse RCP For developing client applications o Based on the Eclipse
More informationExtending the Cmpware CMP-DK (Version 2.0 for Eclipse 3.1)
Extending the Cmpware CMP-DK Page 1 Extending the Cmpware CMP-DK (Version 2.0 for Eclipse 3.1) Cmpware, Inc. Introduction The Cmpware Configurable Multiprocessor Development Kit (CMP-DK) is a multiprocessor
More informationAdvanced User Interface Programming Using the Eclipse Rich Client Platform
Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the
More informationSingle Sourceing for Eclipse 4.x and 3.x
Single Sourceing for Eclipse 4.x and 3.x Tom Schindl - BestSolution Systemhaus GmbH EclipseCon 2011 - March 21st 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead:
More informationImplementation of a 2D Graph Viewer
Degree Project Implementation of a 2D Graph Viewer Javier de Muga 2010-01-29 Subject: computer science Level: master Course code: DA4014 Abstract The VizzAnalyzer tool is a program analysis tool with a
More informationEclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation
Eclipse (1/3) Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software Johannes Kepler University Linz,
More informationEclipse's Rich Client Platform, Part 2: Extending the generic workbench
Eclipse's Rich Client Platform, Part 2: Extending the generic workbench ibm.com/developerworks Table of contents If you're viewing this document online, you can click any of the topics below to link directly
More informationTechnology Tutorial. - Details and Advanced Concepts - Patrick Könemann Software Engineering 2 (02162)
Technology Tutorial Software Engineering 2 (02162) - Details and Advanced Concepts - Patrick Könemann (pk@imm.dtu.dk) Oct 19 th 2009 Previous Tutorials. 1. A view and a selection listener for file types
More information20. Eclipse and Framework Extension Languages
20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation
More informationTesting Eclipse plug-ins: Tips & Tricks
Testing Eclipse plug-ins: Tips & Tricks Lorenzo Bettini DISIA University Firenze, Italy Vincenzo Caselli Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe 2017 Project Quality Day Motivations
More informationEclipse on Cell phones?
Eclipse on Cell phones? An Introduction to the ercp ~ Chris Aniszczyk ~ 1 Agenda Overview (~10 mins) eswt (~20 mins) Introduction Mobile Extensions Working with Devices (~10 minutes) Troubleshooting
More informationObject Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.
CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java
More informationJAVA MOCK TEST JAVA MOCK TEST II
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
More informationWorkbench and JFace Foundations. Part One, of a two part tutorial series
Workbench and JFace Foundations Part One, of a two part tutorial series 2005 by IBM; made available under the EPL v1.0 Date: February 28, 2005 About the Speakers Tod Creasey Senior Software Developer,
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationDeclarations and Access Control SCJP tips
Declarations and Access Control www.techfaq360.com SCJP tips Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationJava: introduction to object-oriented features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: introduction to object-oriented features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationProgramming ArchiTech
Programming ArchiTech The intention of this document is to give a description of the way ArchiTech has been programmed, in order to make anyone who wants to take a look to the code easier to understand
More information(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days
Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented
More informationThe Eclipse Rich Ajax Platform
The Eclipse Rich Ajax Platform Frank Appel RAP Tech Lead fappel@innoopract.com Eclipse RAP 1.1 Copyright Innoopract made available under the EPL 1.0 page: 1 The Innoopract pitch Integration & delivery
More informationArray. Prepared By - Rifat Shahriyar
Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types
More informationCMSC131. Inheritance. Object. When we talked about Object, I mentioned that all Java classes are "built" on top of that.
CMSC131 Inheritance Object When we talked about Object, I mentioned that all Java classes are "built" on top of that. This came up when talking about the Java standard equals operator: boolean equals(object
More informationObjects and Iterators
Objects and Iterators Can We Have Data Structures With Generic Types? What s in a Bag? All our implementations of collections so far allowed for one data type for the entire collection To accommodate a
More informationImplementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations
Readings List Implementations Chapter 20.2 Objectives Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Additional references:
More informationFoundations of User Interface Programming Using the Eclipse Rich Client Platform
Foundations of User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Foundations of User Interface Programming Using the Eclipse Rich Client Platform Page
More informationRules and syntax for inheritance. The boring stuff
Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for
More informationJava Classes. Produced by. Introduction to the Java Programming Language. Eamonn de Leastar
Java Classes Introduction to the Java Programming Language Produced by Eamonn de Leastar edeleastar@wit.ie Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More information1B1b Classes in Java Part I
1B1b Classes in Java Part I Agenda Defining simple classes. Instance variables and methods. Objects. Object references. 1 2 Reading You should be reading: Part I chapters 6,9,10 And browsing: Part IV chapter
More informationTutorial 02: Writing Source Code
Tutorial 02: Writing Source Code Contents: 1. Generating a constructor. 2. Generating getters and setters. 3. Renaming a method. 4. Extracting a superclass. 5. Using other refactor menu items. 6. Using
More informationWhat is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one
Iterators What is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one 9-2 2-2 What is an Iterator? An iterator is an abstract data
More informationCSE 331 Final Exam 12/9/13
Name There are 10 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed
More informationFrUiT: IDE Support for Framework Understanding
FrUiT: IDE Support for Framework Understanding Marcel Bruch Thorsten Schäfer Mira Mezini Software Technology Group Department of Computer Science Darmstadt University of Technology {bruch,schaefer,mezini}@st.informatik.tu-darmstadt.de
More informationContents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance
Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass
More informationGoal. Generic Programming and Inner classes. Minor rewrite of linear search. Obvious linear search code. Intuitive idea of generic linear search
Goal Generic Programming and Inner classes First version of linear search Input was array of int More generic version of linear search Input was array of Comparable Can we write a still more generic version
More informationSyllabus & Curriculum for Certificate Course in Java. CALL: , for Queries
1 CONTENTS 1. Introduction to Java 2. Holding Data 3. Controllin g the f l o w 4. Object Oriented Programming Concepts 5. Inheritance & Packaging 6. Handling Error/Exceptions 7. Handling Strings 8. Threads
More informationINHERITANCE. Spring 2019
INHERITANCE Spring 2019 INHERITANCE BASICS Inheritance is a technique that allows one class to be derived from another A derived class inherits all of the data and methods from the original class Suppose
More informationJava Classes, Inheritance, and Interfaces
Java Classes, Inheritance, and Interfaces Introduction Classes are a foundational element in Java. Everything in Java is contained in a class. Classes are used to create Objects which contain the functionality
More informationClass Libraries. Readings and References. Java fundamentals. Java class libraries and data structures. Reading. Other References
Reading Readings and References Class Libraries CSE 142, Summer 2002 Computer Programming 1 Other References» The Java tutorial» http://java.sun.com/docs/books/tutorial/ http://www.cs.washington.edu/education/courses/142/02su/
More informationDTP Help-Helper for Dynamic Context-Sensitive Help
DTP Help-Helper for Dynamic Context-Sensitive Help This document introduces the Data Tools Platform (DTP) help-helper plug-in, which is provided in the Eclipse DTP project, since version 1.5 (released
More informationJava Fundamentals (II)
Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class
More informationInheritance. Notes Chapter 6 and AJ Chapters 7 and 8
Inheritance Notes Chapter 6 and AJ Chapters 7 and 8 1 Inheritance you know a lot about an object by knowing its class for example what is a Komondor? http://en.wikipedia.org/wiki/file:komondor_delvin.jpg
More informationWrapper Classes double pi = new Double(3.14); 3 double pi = new Double("3.14"); 4... Zheng-Liang Lu Java Programming 290 / 321
Wrapper Classes To treat values as objects, Java supplies standard wrapper classes for each primitive type. For example, you can construct a wrapper object from a primitive value or from a string representation
More informationPART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE
PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.
More informationCSCI-142 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community
CSCI-12 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community http://csc.cs.rit.edu 1. Provide a detailed explanation of what the following code does: 1 public boolean checkstring
More informationDistributed Systems Recitation 1. Tamim Jabban
15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Tuesday: 9:30-11:59 AM Thursday: 10:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming
More informationGetting the Most from Eclipse
Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract
More informationAbout Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council
State of Eclipse 4.x Tom Schindl - BestSolution Systemhaus GmbH, Eric Moffatt IBM Leuven October 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit,
More informationAnother IS-A Relationship
Another IS-A Relationship Not all classes share a vertical relationship. Instead, some are supposed to perform the specific methods without a vertical relationship. Consider the class Bird inherited from
More informationOverview of generated code
Object selection, roles and nodes Overview of generated code Each dialog is drawn on the screen by a defaultview class ( is substituted with the actual name of the dialog), and
More informationCOMP 401 INITIALIZATION AND INHERITANCE. Instructor: Prasun Dewan
COMP 401 INITIALIZATION AND INHERITANCE Instructor: Prasun Dewan PREREQUISITE Inheritance Abstract Classes. 2 MORE INHERITANCE 3 AREGULARCOURSE public class ARegularCourse extends ACourse implements Course
More informationCMSC 341. Nilanjan Banerjee
CMSC 341 Nilanjan Banerjee http://www.csee.umbc.edu/~nilanb/teaching/341/ Announcements Just when you thought Shawn was going to teach this course! On a serious note: register on Piazza I like my classes
More informationMore sophisticated behaviour
Objects First With Java A Practical Introduction Using BlueJ More sophisticated behaviour Using library classes to implement some more advanced functionality 2.0 Main concepts to be covered Using library
More informationAdvanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II
Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Ad hoc-polymorphism Outline Method overloading Sub-type Polymorphism Method overriding Dynamic
More informationCS 61B, Spring 1999 MT3 Professor M. Clancy
CS 61B, Spring 1999 MT3 Professor M. Clancy Problem #1 One approach to producing debugging output is to use inheritance to create objects that print any changes to themselves. For instance, instead of
More informationName Return type Argument list. Then the new method is said to override the old one. So, what is the objective of subclass?
1. Overriding Methods A subclass can modify behavior inherited from a parent class. A subclass can create a method with different functionality than the parent s method but with the same: Name Return type
More informationWhat is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,
More informationEclipse and Framework Extension Languages
Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Design Patterns and Frameworks, Prof. Uwe Aßmann 1 References
More informationInheritance. Lecture 11 COP 3252 Summer May 25, 2017
Inheritance Lecture 11 COP 3252 Summer 2017 May 25, 2017 Subclasses and Superclasses Inheritance is a technique that allows one class to be derived from another. A derived class inherits all of the data
More informationKeep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG.
Keep on Swinging Productivity layers on top of SWT Karsten Schmidt SAP AG k.schmidt@sap.com Keep on Swinging - Agenda! Background! SAP NetWeaver Developer Studio! The UI (Container) Framework! The SAP
More informationComputer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7
Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer
More informationTiming for Interfaces and Abstract Classes
Timing for Interfaces and Abstract Classes Consider using abstract classes if you want to: share code among several closely related classes declare non-static or non-final fields Consider using interfaces
More informationESE115 Introduction to Programming with Java. Midterm 2 November 10, 2005 SOLUTION
ESE115 Introduction to Programming with Java Midterm 2 November 10, 2005 SOLUTION 0 2D Arrays 1. Problems involving symmetry are common in computations involving art and the natural world. We will write
More informationFirst Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009
First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»
More informationCS 3331 Advanced Object-Oriented Programming. Final Exam
1 Fall 2006 (Thursday, December 7) Name: CS 3331 Advanced Object-Oriented Programming Final Exam This test has 6 questions and pages numbered 1 through 12. Reminders This test is open book. You may also
More informationB2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA
B2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationInheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods.
Inheritance Inheritance is the act of deriving a new class from an existing one. Inheritance allows us to extend the functionality of the object. The new class automatically contains some or all methods
More informationMigration to E4. Eclipse Con France 2016
Migration to E4 Eclipse Con France 2016 8th June 2016 Table des matières I - Migration to E4 5 A. Presentation... 6 B. Migration to E4... 6 C. Migration tooling... 9 D. Model Fragments and Processors...
More informationMIT AITI Lecture 18 Collections - Part 1
MIT AITI 2004 - Lecture 18 Collections - Part 1 Collections API The package java.util is often called the "Collections API" Extremely useful classes that you must understand to be a competent Java programmer
More informationCLASS DESIGN. Objectives MODULE 4
MODULE 4 CLASS DESIGN Objectives > After completing this lesson, you should be able to do the following: Use access levels: private, protected, default, and public. Override methods Overload constructors
More informationConverting Collections to Arrays. A Bad Approach to Array Conversion. A Better Approach to Array Conversion. public Object[] toarray();
Converting Collections to Arrays Every Java collection can be converted to an array This is part of the basic Collection interface The most elementary form of this method produces an array of base-type
More informationImplementation. (Mapping to Java) Jörg Kienzle & Alfred Strohmeier. COMP-533 Implementation
Implementation (Mapping to Java) Jörg Kienzle & Alfred Strohmeier COMP-533 Implementation Datatype Enumeration Class Attribute Association Inheritance Method Visibility Collections Overview 2 Data Type
More informationComputer Science II (20082) Week 1: Review and Inheritance
Computer Science II 4003-232-08 (20082) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Syntax and Semantics of Formal (e.g. Programming) Languages Syntax
More informationenum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287
enum Types 1 An enum type is an reference type limited to an explicit set of values. An order among these values is defined by their order of declaration. There exists a correspondence with string names
More informationTopic 7: Algebraic Data Types
Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationCSC Java Programming, Fall Java Data Types and Control Constructs
CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference
More informationCS211 Computers and Programming Matthew Harris and Alexa Sharp July 9, Boggle
Boggle If you are not familiar with the game Boggle, the game is played with 16 dice that have letters on all faces. The dice are randomly deposited into a four-by-four grid so that the players see the
More informationLecture 2: Java & Javadoc
Lecture 2: Java & Javadoc CS 62 Fall 2018 Alexandra Papoutsaki & William Devanny 1 Instance Variables or member variables or fields Declared in a class, but outside of any method, constructor or block
More informationBuilding Java Programs
Building Java Programs Inner classes, generics, abstract classes reading: 9.6, 15.4, 16.4-16.5 2 A tree set Our SearchTree class is essentially a set. operations: add, remove, contains, size, isempty similar
More informationAlgorithms. Produced by. Eamonn de Leastar
Algorithms Produced by Eamonn de Leastar (edeleastar@wit.ie) Collections ± Collections Architecture ± Definition ± Architecture ± Interfaces ± Collection ± List ± Set ± Map ± Iterator ± Implementations
More informationOverview of Eclipse Lectures. Module Road Map
Overview of Eclipse Lectures 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring Lecture 2 5. Debugging 6. Testing with JUnit 7. Version Control with CVS 1 Module
More informationCO Java SE 8: Fundamentals
CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator
More informationSubclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented
Table of Contents L01 - Introduction L02 - Strings Some Examples Reserved Characters Operations Immutability Equality Wrappers and Primitives Boxing/Unboxing Boxing Unboxing Formatting L03 - Input and
More informationJDirectoryChooser Documentation
JDirectoryChooser Documentation Page 1 of 7 How to Use JDirectoryChooser The JDirectoryChooser provides user-friendly GUI for manipulating directories from Java application. User can either simply choose
More informationLanguage Features. 1. The primitive types int, double, and boolean are part of the AP
Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are
More informationChapter 6 Introduction to Defining Classes
Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of
More informationCSE 143 Lecture 26. Advanced collection classes. (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, ,
CSE 143 Lecture 26 Advanced collection classes (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, 15.3-15.4, 16.4-16.5 slides created by Marty Stepp, adapted by Alyssa Harding
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationJava Review: Objects
Outline Java review Abstract Data Types (ADTs) Interfaces Class Hierarchy, Abstract Classes, Inheritance Invariants Lists ArrayList LinkedList runtime analysis Iterators Java references 1 Exam Preparation
More informationHow we reached 0 technical debt in our Eclipse project
How we reached 0 technical debt in our Eclipse project Lorenzo Bettini Dip. DISIA, University of Firenze, Italy Vincenzo Caselli, Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe, 2016 Our
More informationCS61BL Summer 2013 Midterm 2
CS61BL Summer 2013 Midterm 2 Sample Solutions + Common Mistakes Question 0: Each of the following cost you.5 on this problem: you earned some credit on a problem and did not put your five digit on the
More informationWeek. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical
Name of faculty: Gaurav Gambhir Discipline: Computer Science Semester: 6 th Subject: CSE 304 N - Essentials of Information Technology Lesson Plan Duration: 15 Weeks (from January, 2018 to April, 2018)
More information