Development Guide


Configurable is an interface, which allows Extensions and Modules (ProxyModule, InterceptorModule) to store configuration data in the project configuration.

Compared to the Storable interface, Configurable interface allows you to let users create configurations for ProxyModules/InterceptorModules in GUI using Configurator class. Configuration loading precedes store loading.

Data are stored as JSON structure, however, for simplicity, serialization process is automatic.

Configurable interface

 * 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 <>.
/** Configurable interface that allows modules and extensions to be configured. */
public interface Configurable<C> {
  /** Returns configuration to be saved. */
  C saveConfig();

  /** Loads configuration. */
  void loadConfig(C config);