Development Guide

PDU Metadata Pane

PDU Metadata Pane is abstract class used to expand the PDU Editor by adding new components to it.

PDU Metadata Pane class

 * PEnetration TEsting Proxy (PETEP)
 * Copyright (C) 2020 Michal Válka
 * This program is free software: you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 * You should have received a copy of the GNU General Public License along with this program. If
 * not, see <>.
/** Configuration pane for PDU meta data configuration. */
public abstract class PduMetadataPane extends AnchorPane {
  /** Creates configuration pane from specified template and sets the object as controller. */
  public PduMetadataPane(String template) throws IOException {
    FXMLLoader loader = new FXMLLoader(getClass().getResource(template));

  /** Returns configuration from pane. */
  public abstract PDU getPdu(
      Proxy proxy,
      Connection connection,
      PduDestination destination,
      byte[] buffer,
      int size);

  /** Sets configuration to pane. */
  public abstract void setPdu(PDU pdu);

  /** Clears metadata content. */
  public abstract void clear();

PDU Metadata Pane fxml

Since PduMetadataPane is based on AnchorPane, your FXML template has look something like this (notice the root element):

<?xml version="1.0" encoding="UTF-8"?>

<fx:root prefHeight="69.0" prefWidth="249.0" type="javafx.scene.layout.AnchorPane" xmlns="" xmlns:fx="">