@Override public int getGeneratorCount() { return getConnectableCount(Generator.class); }
@Override public Stream<Load> getLoadStream() { return getConnectableStream(Load.class); }
@Override public Iterable<VscConverterStation> getVscConverterStations() { return getConnectables(VscConverterStation.class); }
@Override public void remove() { VoltageLevels.checkRemovability(this); // Remove all connectables List<Connectable> connectables = Lists.newArrayList(getConnectables()); for (Connectable connectable : connectables) { connectable.remove(); } // Remove the topology removeTopology(); // Remove this voltage level from the network getSubstation().remove(this); getNetwork().getObjectStore().remove(this); getNetwork().getListeners().notifyRemoval(this); }
@Override public FluentIterable<Connectable> getConnectables() { return FluentIterable.from(getTerminals()) .transform(Terminal::getConnectable); }
@Override public VoltageLevel setHighVoltageLimit(double highVoltageLimit) { ValidationUtil.checkVoltageLimits(this, lowVoltageLimit, highVoltageLimit); double oldValue = this.highVoltageLimit; this.highVoltageLimit = highVoltageLimit; notifyUpdate("highVoltageLimit", oldValue, highVoltageLimit); return this; }
@Override public Stream<Connectable> getConnectableStream() { return getTerminalStream() .map(Terminal::getConnectable); }
private void notifyUpdate(String attribute, Object oldValue, Object newValue) { getNetwork().getListeners().notifyUpdate(this, attribute, oldValue, newValue); }
@Override public <T extends Connectable> FluentIterable<T> getConnectables(Class<T> clazz) { Iterable<Terminal> terminals = getTerminals(); return FluentIterable.from(terminals) .transform(Terminal::getConnectable) .filter(clazz); }
@Override public VoltageLevelExt setNominalV(double nominalV) { ValidationUtil.checkNominalV(this, nominalV); double oldValue = this.nominalV; this.nominalV = nominalV; notifyUpdate("nominalV", oldValue, nominalV); return this; }
@Override public <T extends Connectable> Stream<T> getConnectableStream(Class<T> clazz) { return getTerminalStream() .map(Terminal::getConnectable) .filter(clazz::isInstance) .map(clazz::cast); }
@Override public Iterable<Generator> getGenerators() { return getConnectables(Generator.class); }
@Override public int getLccConverterStationCount() { return getConnectableCount(LccConverterStation.class); }
@Override public Stream<VscConverterStation> getVscConverterStationStream() { return getConnectableStream(VscConverterStation.class); }
@Override public void visitEquipments(TopologyVisitor visitor) { AbstractBus.visitEquipments(getTerminals(), visitor); }
@Override public VoltageLevel setLowVoltageLimit(double lowVoltageLimit) { ValidationUtil.checkVoltageLimits(this, lowVoltageLimit, highVoltageLimit); double oldValue = this.lowVoltageLimit; this.lowVoltageLimit = lowVoltageLimit; notifyUpdate("lowVoltageLimit", oldValue, lowVoltageLimit); return this; }
@Override public Iterable<StaticVarCompensator> getStaticVarCompensators() { return getConnectables(StaticVarCompensator.class); }
@Override public int getStaticVarCompensatorCount() { return getConnectableCount(StaticVarCompensator.class); }
@Override public Stream<DanglingLine> getDanglingLineStream() { return getConnectableStream(DanglingLine.class); }
@Override public Iterable<Load> getLoads() { return getConnectables(Load.class); }