/** * Utility to set the "curveScheduleValue" * * @param curveScheduleValue * instance to set * @param setInverse * boolean to specify whether to set the inverse association * or not * @throws LinkageException */ public void setCurveSchedule( Curve curveScheduleValue, boolean setInverse) throws LinkageException { this.curveSchedule = curveScheduleValue; this.currentBitset.set(3); if (setInverse) { if (curveScheduleValue != null) { curveScheduleValue.addCurveScheduleDatas(this, false); } } }
/** * Utility to clear the associations of this class belonging to a * specific subset * * @param subset * the subset from which to clear the associations of this class */ @Override protected void clearAssociations(final Subset subset) { switch (subset) { case StateVariables: { super.clearAssociations(subset); break; } case Topology: { super.clearAssociations(subset); break; } case Equipment: { if (initiallyUsedBySynchronousMachine != null) { initiallyUsedBySynchronousMachine.clear(); } this.currentBitset.clear(0); super.clearAssociations(subset); break; } default: // nothing to clear } }
message.append(this.getId()); message.append("\" is not consistent in this context:\n");
/** * Copy constructor * The associations with other objects are not copied * * @param Curve * the reference to the class to copy * @return the class constructed */ private Curve(final Curve otherCurve) { // TODO : check exception safe this.copyBase(otherCurve); }
if (super.modelConsistency().isConsistent()) { consistent = consistent && (true); message.append((super.modelConsistency(subset)).getMessage()); } else { consistent = consistent && (false); message.append((super.modelConsistency(subset)).getMessage());
message.append(getMessageForConsistency(this.minBitsets.get(subset)));
/** * Utility returning a copy of the "base" of this instance * This utility does not copy the associations with other instances * * @return a clone of this instance */ public Curve clone() { Curve newInstance = new Curve(this); Curve newInstanceSP = newInstance; return newInstanceSP; }
/** * Utility to resolve the links at the end of parsing * * @param model * the model this class belongs to * @param boundaryModel * the model that gather data about the boundarySet, used * as a resource force links resolving * @throws Linkage Exception */ @Override public void resolveLinks(CIMModel model, CIMModel boundaryModel) throws LinkageException { // TODO : implement vectors (not required according to CIM // specifications) super.resolveLinks(model, boundaryModel); removeFromUnresolved(); }
/** * Utility to read a reference to a resource * This function is called by the CIMModel * * @param class_name * the read name of class * @param resource_name * the read name of the associated resource * @param id * the id of the associated resource * @param model * the model this class belongs to * @throws InterpretationException */ @Override public void readResource(final String class_name, final String resource_name, final String id, CIMModel model) throws InterpretationException, LinkageException { if (class_name.equals("ReactiveCapabilityCurve")) { StringBuilder errorMessage = new StringBuilder("The association \""); errorMessage.append(resource_name); errorMessage.append("\" in class \""); errorMessage.append(class_name); errorMessage.append("\" could not be found in the model !"); throw new InterpretationException(errorMessage.toString()); } else { super.readResource(class_name, resource_name, id, model); } }
super.readAttribute(class_name, attr_name, value, model);
/** * Utility to return the content of this class into the CIM XML format * * @param xmlsw * the stream in which are stored the elements to write */ private void writeClass(XMLStreamWriter xmlsw) { if (currentBitset.get(0)) { for (CurveData curveScheduleDatas : this.curveScheduleDatas){ try { xmlsw.writeEmptyElement(CIMURI.CIMURI,"Curve.CurveScheduleDatas"); xmlsw.writeAttribute(CIMModel.rdfURI, "resource", "#" + curveScheduleDatas.getId()); } catch (XMLStreamException e) { StringBuilder errorMessage = new StringBuilder( "Error while trying to write the reference to "); errorMessage.append("Curve "); errorMessage.append("which ID has been initialized to : "); errorMessage.append(getId()); errorMessage.append(" in the subset "); errorMessage.append("${subsetModel.getSubset($class).getName()}"); LOGGER.error(errorMessage.toString()); LOGGER.error(e.toString(), e); } } } return; }
/** * Utility to copy the "base" of an other instance of the same class * This utility does not copy the associations with other instances from * the instance to copy * * @param otherReactiveCapabilityCurve * the instance to copy */ public void copyBase(final ReactiveCapabilityCurve otherReactiveCapabilityCurve) { // Memory allocation has done successfully ! // Dropping "old" objects... // This part may change : we do nothing to allow the user to access // object by their id from the global model. // TODO : Call the parent copy constructor instead ? super.copyBase(otherReactiveCapabilityCurve); }
if (super.modelConsistency().isConsistent()) { consistent = consistent && (true); message.append((super.modelConsistency()).getMessage()); } else { consistent = consistent && (false); message.append((super.modelConsistency()).getMessage());
message.append(getMessageForConsistency(this.minBitset));
this.idCurveSchedule = curveScheduleAssociation.getId();
/** * Utility to "clear" the content of a class when a subset is invalidated * * @param subset subset to clean */ @Override public void clearContent(Subset subset) { // First of all, we clear the associations: this.clearAssociations(subset); // The function has been called by a concrete class : // the checking has already been done so we can clear everything ! super.clearContent(subset); }