blog posts

What is a Wrapper in programming?

In a software context, the term wrapper refers to programs or code that include other program components. The Wrapper has several different functions. It is often used to ensure compatibility or interoperability between different software structures. It can also be used in HTML or CSS. Wrappers are the same as individual software components, standalone software products, software architecture, object-oriented programming classes, or frameworks.

If you want to use other programming language code functions or blocks within an application, you can encapsulate them using a Wrapper. The main program communicates exclusively with the Wrapper, which sends commands to the wrap program and returns the results. The Wrapper is the only component communicating directly with both parts of the program.

Wrappers can be used in various ways in programming and software development. The following examples show how wrappers work and the different tasks they perform.

Table of Contents

  • wrappers as a user input translator
  • wrappers to access the database
  • wrappers in object-oriented programming
  • wrappers for designing HTML documents
  • TCP wrappers on Linux systems

wrappers as a user input translator

Forms in applications or web applications are waiting for input that the application can process. Programs developed in many European countries expect numbers to be entered in commas and dimensions in meters and centimeters instead of decimal places. When user inputs do not match the default inputs, we should expect incorrect results or errors.

A wrapper can solve this problem. The input form directs the input into the Wrapper instead of entering it directly into the external application. Wrapper analyzes the inputs and translates them into valid inputs for the external application – without needing to change the application.

wrappers to access the database

Different Wonder databases cannot be used together because their data tables, queries, or query languages ​​are incompatible. Here, too, a wrapper can be the solution. The Wrapper detects incompatibilities between different software interfaces and fills in the gaps.

(JDBC) Java Database Connectivity is an Oracle database interface and a typical wrapper example. The JDBC rapper accesses different databases and connects different databases using special drivers. SQL queries are directed exclusively to JDBC, not to databases. JDBC turns queries into database query language by returning Java-compatible results. Accordingly, the requesting application receives the data consistently, regardless of the database used.

wrappers in object-oriented programming

Object-oriented programming uses different structural patterns that always work the same way, regardless of the language used. Adapter and decorator design patterns are structural patterns, also called wrappers.

An adapter hides incompatible interfaces between separate classes. An adapter allows classes to communicate with each other by translating one interface to another. This is especially important when using classes or entire class libraries in new projects. These libraries use standard and unique interfaces that may not change because they must be usable for many applications. The Wrapper – in this case, the adapter – is an important link in the communication.

A decorator allows you to add functions to a class without changing the class itself. The decorator, as a wrapper, transmits the calls to the class. The decorator directly handles new functions not included in the class and returns the results to make the object called look like the results of the decorated class.

wrappers for designing HTML documents

Wrappers are often used to (redesign) websites in HTML and CSS. Without the Wrapper, you need to change several stylesheets after making separate settings, such as changing the margins of the browser window and making sure that the changes fit together.

The simplest way is to use the DIV as a wrapper. The DIV acts as a container and holds the page’s entire content.

The actual contents of the page are enclosed in this wrapper container.

the Wrapper is defined as a stylesheet in a related CSS file:

In this example, a width of 500 pixels is assigned to the container. The margins at the top and bottom are defined using the margin parameter and are set to 25 pixels. The left and right margins are automatically obtained from the width of the browser window and the container’s width.

By changing the Wrapper, you can easily adjust the page margin without further changing the HTML or CSS code.

TCP wrappers on Linux systems

The inetd background service runs as a TCP wrapper on Linux and other UNIX-based operating systems. And listens to network sockets and accepts connection requests. A configuration file specifies which ports to listen to. Requests are evaluated, and the specified inetd service is launched. In most cases, these programs are dimmers that run in the background.

If the connection is lost, inetd automatically terminates the service. Starting services in the presence of demand reduces the significant load of system resources that may not be needed compared to the automatic start of network services. and acts like a wrapper that receives network requests from all applications without direct connection to separate services.

TCP wrappers can also be used to prevent unwanted access to a network. TCP wrapper is searched by inetd or server software. Allowed and rejected hosts and computers are included in the /etc/hosts.allow and /etc/hosts.deny files.