Interface ModelSet<T>

Type Parameters:
T - the type of model object
All Superinterfaces:
Collection<T>, Iterable<T>, ModelElement, Named, Set<T>

@Incubating public interface ModelSet<T> extends Set<T>, ModelElement
A set of managed model objects.

Managed types may declare managed set properties. Managed sets can only contain managed types.

Managed set objects cannot be mutated via the mutative methods of the Set interface (e.g. Set.add(Object), Set.clear()). To add elements to the set, the create(Action) method can be used.

  • Method Details

    • create

      void create(Action<? super T> action)
      Declares a new set element, configured by the given action.
      Parameters:
      action - the object configuration
    • beforeEach

      void beforeEach(Action<? super T> configAction)
      Apply the given action to each set element just after it is created.

      The configuration action is equivalent in terms of lifecycle to Defaults rule methods.

      Parameters:
      configAction - the object configuration
    • afterEach

      void afterEach(Action<? super T> configAction)
      Apply the given action to each set element just before it is considered to be realised.

      The configuration action is equivalent in terms of lifecycle to Finalize rule methods.

      Parameters:
      configAction - the object configuration