Book Image

Extending Jenkins

By : Donald Simpson
Book Image

Extending Jenkins

By: Donald Simpson

Overview of this book

Jenkins CI is the leading open source continuous integration server. It is written in Java and has a wealth of plugins to support the building and testing of virtually any project. Jenkins supports multiple Software Configuration Management tools such as Git, Subversion, and Mercurial. This book explores and explains the many extension points and customizations that Jenkins offers its users, and teaches you how to develop your own Jenkins extensions and plugins. First, you will learn how to adapt Jenkins and leverage its abilities to empower DevOps, Continuous Integration, Continuous Deployment, and Agile projects. Next, you will find out how to reduce the cost of modern software development, increase the quality of deliveries, and thereby reduce the time to market. We will also teach you how to create your own custom plugins using Extension points. Finally, we will show you how to combine everything you learned over the course of the book into one real-world scenario.
Table of Contents (16 chapters)
Extending Jenkins
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Abstract classes


Abstract classes in Java provide a high-level functionality that can be used by other classes as well. You can't create an abstract class directly, but you can implement another class that derives from the abstract class.

The simplest explanation is that an abstract class is a type of a thing, but is not a thing—by this, I mean that you can have an abstract class like our Vehicle example that declares all of the methods that we mentioned, but you can't ever create just a vehicle—you have to have something specific, such as a car, motorbike, hovercraft, helicopter, and so on; you can't have just a generic vehicle.

All of our vehicles are slightly different, but share the same base functionality—they can go, they can stop, and they can turn. This common set of functionalities could, therefore, be modeled as base methods of an abstract (Vehicle) class, and whenever you create a new type of vehicle, you will have all of them available to you.

To create an abstract class in Java...