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

com.warxim.petep.gui.component.PduMetadataPane
/*
 * 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 <https://www.gnu.org/licenses/>.
 */
/** Configuration pane for PDU meta data configuration. */
@PetepAPI
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));
    loader.setRoot(this);
    loader.setController(this);
    loader.load();
    getStylesheets().add("/css/Main.css");
  }

  /** 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):

/fxml/ExamplePduMetadataPane.fxml
<?xml version="1.0" encoding="UTF-8"?>

<fx:root prefHeight="69.0" prefWidth="249.0" type="javafx.scene.layout.AnchorPane" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
   <children>
     [...]
   </children>
</fx:root>
Získejte registraci domén s tld .online, .space, .store, .tech zdarma!
Stačí si k jedné z těchto domén vybrat hosting Plus nebo Mega a registraci domény od nás dostanete za 0 Kč!
Objednat