Changeset 2524 for trunk/sources/HeuristicLab.Core/3.3/OperatorBase.cs
- Timestamp:
- 11/23/09 15:17:08 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core/3.3/OperatorBase.cs
r2520 r2524 31 31 /// The base class for all operators. 32 32 /// </summary> 33 public abstract class OperatorBase : ConstrainedItemBase, IOperator {33 public abstract class OperatorBase : ItemBase, IOperator { 34 34 35 35 [Storable] … … 154 154 OnSubOperatorAdded(subOperator, mySubOperators.Count - 1); 155 155 } 156 /// <inheritdoc cref="IOperator.TryAddSubOperator(HeuristicLab.Core.IOperator)"/>157 /// <param name="subOperator">The sub operator to add.</param>158 /// <remarks>Calls <see cref="OnSubOperatorAdded"/>.</remarks>159 public virtual bool TryAddSubOperator(IOperator subOperator) {160 mySubOperators.Add(subOperator);161 if (IsValid()) {162 OnSubOperatorAdded(subOperator, mySubOperators.Count - 1);163 return true;164 } else {165 mySubOperators.RemoveAt(mySubOperators.Count - 1);166 return false;167 }168 }169 /// <inheritdoc cref="HeuristicLab.Core.IOperator.TryAddSubOperator(HeuristicLab.Core.IOperator,170 /// out System.Collections.Generic.ICollection<HeuristicLab.Core.IConstraint>)"/>171 /// <param name="subOperator">The sub operator to add.</param>172 /// <remarks>Calls <see cref="OnSubOperatorAdded"/>.</remarks>173 public virtual bool TryAddSubOperator(IOperator subOperator, out ICollection<IConstraint> violatedConstraints) {174 mySubOperators.Add(subOperator);175 if (IsValid(out violatedConstraints)) {176 OnSubOperatorAdded(subOperator, mySubOperators.Count - 1);177 return true;178 } else {179 mySubOperators.RemoveAt(mySubOperators.Count - 1);180 return false;181 }182 }183 156 /// <inheritdoc cref="HeuristicLab.Core.IOperator.AddSubOperator(HeuristicLab.Core.IOperator, int)"/> 184 157 /// <param name="subOperator">The sub operator to add.</param> … … 188 161 OnSubOperatorAdded(subOperator, index); 189 162 } 190 /// <inheritdoc cref="IOperator.TryAddSubOperator(HeuristicLab.Core.IOperator, int)"/>191 /// <param name="subOperator">The sub operator to add.</param>192 /// <remarks>Calls <see cref="OnSubOperatorAdded"/>.</remarks>193 public virtual bool TryAddSubOperator(IOperator subOperator, int index) {194 mySubOperators.Insert(index, subOperator);195 if (IsValid()) {196 OnSubOperatorAdded(subOperator, index);197 return true;198 } else {199 mySubOperators.RemoveAt(index);200 return false;201 }202 }203 /// <inheritdoc cref="IOperator.TryAddSubOperator(HeuristicLab.Core.IOperator, int, out204 /// System.Collections.Generic.ICollection<HeuristicLab.Core.IConstraint>)"/>205 /// <param name="subOperator">The sub operator to add.</param>206 /// <remarks>Calls <see cref="OnSubOperatorAdded"/>.</remarks>207 public virtual bool TryAddSubOperator(IOperator subOperator, int index, out ICollection<IConstraint> violatedConstraints) {208 mySubOperators.Insert(index, subOperator);209 if (IsValid(out violatedConstraints)) {210 OnSubOperatorAdded(subOperator, index);211 return true;212 } else {213 mySubOperators.RemoveAt(index);214 return false;215 }216 }217 163 /// <inheritdoc/> 218 164 /// <remarks>Calls <see cref="OnSubOperatorRemoved"/>.</remarks> … … 221 167 mySubOperators.RemoveAt(index); 222 168 OnSubOperatorRemoved(op, index); 223 }224 /// <inheritdoc/>225 /// <remarks>Calls <see cref="OnSubOperatorRemoved"/>.</remarks>226 public virtual bool TryRemoveSubOperator(int index) {227 IOperator op = mySubOperators[index];228 mySubOperators.RemoveAt(index);229 if (IsValid()) {230 OnSubOperatorRemoved(op, index);231 return true;232 } else {233 mySubOperators.Insert(index, op);234 return false;235 }236 }237 /// <inheritdoc/>238 /// <remarks>Calls <see cref="OnSubOperatorRemoved"/>.</remarks>239 public virtual bool TryRemoveSubOperator(int index, out ICollection<IConstraint> violatedConstraints) {240 IOperator op = mySubOperators[index];241 mySubOperators.RemoveAt(index);242 if (IsValid(out violatedConstraints)) {243 OnSubOperatorRemoved(op, index);244 return true;245 } else {246 mySubOperators.Insert(index, op);247 return false;248 }249 169 } 250 170 #endregion … … 266 186 } 267 187 /// <inheritdoc/> 268 /// <remarks>Calls <see cref="OnVariableInfoAdded"/>.</remarks>269 public virtual bool TryAddVariableInfo(IVariableInfo variableInfo) {270 myVariableInfos.Add(variableInfo.FormalName, variableInfo);271 if (IsValid()) {272 OnVariableInfoAdded(variableInfo);273 return true;274 } else {275 myVariableInfos.Remove(variableInfo.FormalName);276 return false;277 }278 }279 /// <inheritdoc/>280 /// <remarks>Calls <see cref="OnVariableInfoAdded"/>.</remarks>281 public virtual bool TryAddVariableInfo(IVariableInfo variableInfo, out ICollection<IConstraint> violatedConstraints) {282 myVariableInfos.Add(variableInfo.FormalName, variableInfo);283 if (IsValid(out violatedConstraints)) {284 OnVariableInfoAdded(variableInfo);285 return true;286 } else {287 myVariableInfos.Remove(variableInfo.FormalName);288 return false;289 }290 }291 /// <inheritdoc/>292 188 /// <remarks>Calls <see cref="OnVariableInfoRemoved"/>.</remarks> 293 189 public virtual void RemoveVariableInfo(string formalName) { … … 297 193 OnVariableInfoRemoved(variableInfo); 298 194 } 299 }300 /// <inheritdoc/>301 /// <remarks>Calls <see cref="OnVariableInfoRemoved"/>.</remarks>302 public virtual bool TryRemoveVariableInfo(string formalName) {303 IVariableInfo variableInfo;304 if (myVariableInfos.TryGetValue(formalName, out variableInfo)) {305 myVariableInfos.Remove(formalName);306 if (IsValid()) {307 OnVariableInfoRemoved(variableInfo);308 return true;309 } else {310 myVariableInfos.Add(formalName, variableInfo);311 return false;312 }313 }314 return true;315 }316 /// <inheritdoc/>317 /// <remarks>Calls <see cref="OnVariableInfoRemoved"/>.</remarks>318 public virtual bool TryRemoveVariableInfo(string formalName, out ICollection<IConstraint> violatedConstraints) {319 IVariableInfo variableInfo;320 if (myVariableInfos.TryGetValue(formalName, out variableInfo)) {321 myVariableInfos.Remove(formalName);322 if (IsValid(out violatedConstraints)) {323 OnVariableInfoRemoved(variableInfo);324 return true;325 } else {326 myVariableInfos.Add(formalName, variableInfo);327 return false;328 }329 }330 violatedConstraints = new List<IConstraint>();331 return true;332 195 } 333 196 #endregion … … 350 213 variable.NameChanged += new EventHandler(Variable_NameChanged); 351 214 OnVariableAdded(variable); 352 }353 /// <inheritdoc/>354 /// <remarks>Calls <see cref="OnVariableAdded"/> and adds <c>NameChanging</c> and <c>NameChanged</c>355 /// event handlers.</remarks>356 public virtual bool TryAddVariable(IVariable variable) {357 myVariables.Add(variable.Name, variable);358 if (IsValid()) {359 variable.NameChanging += new EventHandler<CancelEventArgs<string>>(Variable_NameChanging);360 variable.NameChanged += new EventHandler(Variable_NameChanged);361 OnVariableAdded(variable);362 return true;363 } else {364 myVariableInfos.Remove(variable.Name);365 return false;366 }367 }368 /// <inheritdoc/>369 /// <remarks>Calls <see cref="OnVariableAdded"/> and adds <c>NameChanging</c> and <c>NameChanged</c>370 /// event handlers.</remarks>371 public virtual bool TryAddVariable(IVariable variable, out ICollection<IConstraint> violatedConstraints) {372 myVariables.Add(variable.Name, variable);373 if (IsValid(out violatedConstraints)) {374 variable.NameChanging += new EventHandler<CancelEventArgs<string>>(Variable_NameChanging);375 variable.NameChanged += new EventHandler(Variable_NameChanged);376 OnVariableAdded(variable);377 return true;378 } else {379 myVariableInfos.Remove(variable.Name);380 return false;381 }382 215 } 383 216 /// <inheritdoc/> … … 392 225 OnVariableRemoved(variable); 393 226 } 394 }395 /// <inheritdoc/>396 /// <remarks>Calls <see cref="OnVariableRemoved"/> and removes <c>NameChanging</c> and <c>NameChanged</c>397 /// event handlers.</remarks>398 public virtual bool TryRemoveVariable(string name) {399 IVariable variable;400 if (myVariables.TryGetValue(name, out variable)) {401 myVariables.Remove(name);402 if (IsValid()) {403 variable.NameChanging -= new EventHandler<CancelEventArgs<string>>(Variable_NameChanging);404 variable.NameChanged -= new EventHandler(Variable_NameChanged);405 OnVariableRemoved(variable);406 return true;407 } else {408 myVariables.Add(name, variable);409 return false;410 }411 }412 return true;413 }414 /// <inheritdoc/>415 /// <remarks>Calls <see cref="OnVariableRemoved"/> and removes <c>NameChanging</c> and <c>NameChanged</c>416 /// event handlers.</remarks>417 public virtual bool TryRemoveVariable(string name, out ICollection<IConstraint> violatedConstraints) {418 IVariable variable;419 if (myVariables.TryGetValue(name, out variable)) {420 myVariables.Remove(name);421 if (IsValid(out violatedConstraints)) {422 variable.NameChanging -= new EventHandler<CancelEventArgs<string>>(Variable_NameChanging);423 variable.NameChanged -= new EventHandler(Variable_NameChanged);424 OnVariableRemoved(variable);425 return true;426 } else {427 myVariables.Add(name, variable);428 return false;429 }430 }431 violatedConstraints = new List<IConstraint>();432 return true;433 227 } 434 228 private void Variable_NameChanging(object sender, CancelEventArgs<string> e) {
Note: See TracChangeset
for help on using the changeset viewer.