@Override public Stream<Load> getLoadStream() { return getConnectableStream(Load.class); }
@Override public Iterable<Line> getLines() { return getConnectables(Line.class); }
@Override public void visitConnectedEquipments(TopologyVisitor visitor) { visitEquipments(getConnectedTerminals(), visitor); }
private <C extends Connectable> Iterable<C> getConnectables(Class<C> clazz) { if (getConnectedTerminalCount() == 0) { return Collections.emptyList(); } return FluentIterable.from(getConnectedTerminals()) .transform(Terminal::getConnectable) .filter(clazz); }
private <C extends Connectable> Stream<C> getConnectableStream(Class<C> clazz) { if (getConnectedTerminalCount() == 0) { return Stream.empty(); } return getConnectedTerminalStream() .map(TerminalExt::getConnectable) .filter(clazz::isInstance) .map(clazz::cast); }
@Override public Iterable<Generator> getGenerators() { checkValidity(); return super.getGenerators(); }
@Override public Iterable<DanglingLine> getDanglingLines() { checkValidity(); return super.getDanglingLines(); }
@Override public Stream<DanglingLine> getDanglingLineStream() { checkValidity(); return super.getDanglingLineStream(); }
@Override public Stream<Generator> getGeneratorStream() { checkValidity(); return super.getGeneratorStream(); }
@Override public boolean isInMainConnectedComponent() { Component cc = getConnectedComponent(); return cc != null && cc.getNum() == ComponentConstants.MAIN_NUM; }
@Override public double getP() { if (getConnectedTerminalCount() == 0) { return Double.NaN; for (TerminalExt terminal : getConnectedTerminals()) { AbstractConnectable connectable = terminal.getConnectable(); switch (connectable.getType()) {
@Override public double getQ() { if (getConnectedTerminalCount() == 0) { return Double.NaN; for (TerminalExt terminal : getConnectedTerminals()) { AbstractConnectable connectable = terminal.getConnectable(); switch (connectable.getType()) {
@Override public Stream<DanglingLine> getDanglingLineStream() { return getConnectableStream(DanglingLine.class); }
@Override public Iterable<StaticVarCompensator> getStaticVarCompensators() { return getConnectables(StaticVarCompensator.class); }
@Override public Stream<VscConverterStation> getVscConverterStationStream() { return getConnectableStream(VscConverterStation.class); }
@Override public Iterable<LccConverterStation> getLccConverterStations() { return getConnectables(LccConverterStation.class); }
@Override public Stream<Line> getLineStream() { return getConnectableStream(Line.class); }
@Override public Iterable<TwoWindingsTransformer> getTwoWindingsTransformers() { return getConnectables(TwoWindingsTransformer.class); }
@Override public Stream<ShuntCompensator> getShuntCompensatorStream() { return getConnectableStream(ShuntCompensator.class); }
@Override public Iterable<Load> getLoads() { return getConnectables(Load.class); }