io.github.sinri.drydock.naval.carrier.AircraftCarrier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of DryDock Show documentation
Show all versions of DryDock Show documentation
Prototype Library for Keel Based Java Projects.
The newest version!
package io.github.sinri.drydock.naval.carrier;
import io.github.sinri.drydock.air.Bomber;
import io.github.sinri.drydock.air.Drone;
import io.github.sinri.drydock.air.Fighter;
import io.github.sinri.drydock.common.health.HealthMonitor;
import io.github.sinri.drydock.common.health.HealthMonitorMixin;
import io.github.sinri.drydock.common.health.HealthMonitorWithIssueRecorder;
import io.github.sinri.drydock.common.health.HealthMonitorWithMetricRecorder;
import io.github.sinri.drydock.common.logging.DryDockLogTopics;
import io.github.sinri.drydock.common.logging.adapter.AliyunSLSIssueAdapterImpl;
import io.github.sinri.drydock.common.logging.adapter.AliyunSLSMetricRecorder;
import io.github.sinri.drydock.common.logging.issue.HealthMonitorIssueRecord;
import io.github.sinri.keel.core.TechnicalPreview;
import io.github.sinri.keel.logger.issue.center.KeelIssueRecordCenter;
import io.github.sinri.keel.logger.issue.center.KeelIssueRecordCenterAsAsync;
import io.github.sinri.keel.logger.metric.KeelMetricRecorder;
import io.vertx.core.Future;
import io.vertx.core.VertxOptions;
import io.vertx.core.cli.CommandLine;
import io.vertx.core.cli.Option;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;
import static io.github.sinri.keel.facade.KeelInstance.Keel;
/**
* @since 1.5.0 Technical Preview
*/
@TechnicalPreview(since = "1.5.0")
public abstract class AircraftCarrier extends AircraftCarrierDeck implements HealthMonitorMixin {
private Bomber bomber;
private Drone drone;
private Fighter fighter;
private KeelMetricRecorder metricRecorder;
protected abstract Bomber constructBomber();
/**
* @since 1.5.2
*/
public Bomber getBomber() {
return bomber;
}
protected abstract Drone constructDrone();
/**
* @since 1.5.2
*/
public Drone getDrone() {
return drone;
}
protected abstract Fighter constructFighter(@Nullable Integer port);
/**
* @since 1.5.2
*/
public Fighter getFighter() {
return this.fighter;
}
@Nullable
@Override
protected List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy