PDU Metadata Pane is abstract class used to expand the PDU Editor by adding new components to it.
/*
* 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();
}
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="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
[...]
</children>
</fx:root>