rs.sol.soloist.server.uml.concepts.runtime
Interface ISlot<T extends IClassifierInstance>

All Superinterfaces:
rs.sol.soloist.server.uml.concepts.IElement, IRTElement
All Known Subinterfaces:
IAssociationEndInstance<T>, IAttributeValue<T>

public interface ISlot<T extends IClassifierInstance>
extends IRTElement

A runtime manifestation (an instance of) a Property. Can be an Attribute or an Association End.


Method Summary
 void add(T val)
          Adds a new value to this Slot.
 void addAt(T val, int at)
          Adds a new value to this Slot at the given position.
 void addFirst(T val)
          Adds a new value to this Slot at the beginning.
 void addLast(T val)
          Adds a new value to this Slot at the end.
 T at(int at)
          Reads and returns the value at the given position in this Slot.
 boolean canAccept(IClassifierInstance val)
          Can this Slot accept the given value?
It can if the value is of the proper type.
 void clear()
          Clears (removes all values from) this Slot.
 boolean conformsTo(ISlot<?> slt)
          Does this Slot conform to the given one?
Relies on the same operation of Slots' Properties.
 void copy(ISlot<? extends T> sltFrom)
          Copies the value of the given Slot sltFrom to this Slot (removes all values and then assigns new ones).
 long count(T val)
          Reads and returns the number of occurrences of the given value in this Slot.
 T first()
          Reads and returns the first value from this Slot.
 IAssociation getAssociation()
          Returns the Association of the Property of this Slot, if it is an association end.
 IClassifier getClassifier()
          Returns the Classifier that owns the Property of this Slot.
 java.lang.String getFQName()
          Returns the fully qualified name of the Slot's Property as a Named Element.
 int getLowerBound()
          Returns the lower multiplicity bound of the Property of this Slot as a Multiplicity Element.
 IProperty getOpposite()
          Returns the opposite Property of the Property of this Slot, if it is an association end.
 IClassifierInstance getOwnerInstance()
          Returns the Classifier Instance that owns this Slot.
 IProperty getProperty()
          Returns the Property of the UML model whose instance is this Slot.
 IType getType()
          Returns the Type of the Property of this Slot as a Typed Element.
 java.lang.String getTypeFQName()
          Returns the fully qualified name of the Type of the Property of this Slot as a Typed Element.
 java.lang.String getTypeUQName()
          Returns the unqualified name of the Type of the Property of this Slot as a Typed Element.
 IClass getUMLClass()
          Returns the Class that owns the Property of this Slot.
 int getUpperBound()
          Returns the upper multiplicity bound of the Property of this Slot as a Multiplicity Element.
 java.lang.String getUQName()
          Returns the unqualified name of the Slot's Property as a Named Element.
 VisibilityKind getVisibility()
          Returns the visibility of the Slot's Property as a Named Element.
 boolean includesCardinality(int c)
          Is the given cardinality allowed by the multiplicity?
 boolean isAssociationEnd()
          Is this Slot an instance of an association end?
 boolean isAttributeValue()
          Is this Slot an Attribute Value (instance of an attribute)?
 boolean isComposite()
          Is the Property of this Slot a composite aggregation?
 boolean isDerived()
          Is the Property of this Slot derived?
 boolean isDerivedUnion()
          Is the Property of this Slot a derived union?
 boolean isLimited()
          Is there an upper bound of cardinality?
 boolean isMultiValued()
          Is the Property of this Slot as a Multiplicity Element multi-valued? It is if its upper bound is greater than 1.
 boolean isOrdered()
          Is the Property of this Slot ordered?
 boolean isPropagatedDeletion()
          Is the Property of this Slot marked to propagate deletion?
For composite association ends, it always is.
 boolean isReadOnly()
          Is the Property of this Slot read-only (cannot be modified)?
 boolean isSingleValued()
          Is the Property of this Slot as a Multiplicity Element single-valued? It is if its upper bound is 1.
 boolean isStatic()
          Is the Property of this Slot static (has classifier scope)?
 boolean isUnique()
          Is the Property of this Slot unique?
 boolean isUnlimited()
          Isn't there an upper bound of cardinality?
 T last()
          Reads and returns the last value from this Slot.
 java.util.List<T> read()
          Reads and returns the entire value of this Slot.
 void remove(T val)
          Removes all occurrences of the given value from this Slot.
 T removeAt(int at)
          Removes the value from the given position in this Slot and returns that value.
 T removeFirst()
          Removes and returns the first value from this Slot.
 T removeLast()
          Removes and returns the last value from this Slot.
 void removeOne(T val)
          Removes one (the first, or the only one) occurrence of the given value from this Slot.
 void reorder(int at1, int at2)
          Exchanges the values at the two given positions in this Slot.
 void replace(T val, T newVal)
          Replaces one (the first, or the only one) occurrence of the given value in this Slot with the given new value.
 void set(java.util.List<? extends T> val)
          Assigns the given value (removes all values and then assigns new ones) to this Slot.
 void set(T val)
          Assigns the given value (removes all values and then assigns the new one) to this Slot.
 long size()
          Reads and returns the current size of this Slot.
 T val()
          Reads and returns one value (the first or the only one) from this Slot.
 
Methods inherited from interface rs.sol.soloist.server.uml.concepts.runtime.IRTElement
getMElement, hasIdentity
 
Methods inherited from interface rs.sol.soloist.server.uml.concepts.IElement
accept, accept, isKindOf, isModelElement, isRTElement
 

Method Detail

isAttributeValue

boolean isAttributeValue()
                         throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is this Slot an Attribute Value (instance of an attribute)?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isAssociationEnd

boolean isAssociationEnd()
                         throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is this Slot an instance of an association end?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getOwnerInstance

IClassifierInstance getOwnerInstance()
                                     throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Classifier Instance that owns this Slot.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getProperty

IProperty getProperty()
                      throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Property of the UML model whose instance is this Slot. Subsets melement.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getClassifier

IClassifier getClassifier()
                          throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Classifier that owns the Property of this Slot.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getUMLClass

IClass getUMLClass()
                   throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Class that owns the Property of this Slot.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getFQName

java.lang.String getFQName()
                           throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the fully qualified name of the Slot's Property as a Named Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getUQName

java.lang.String getUQName()
                           throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the unqualified name of the Slot's Property as a Named Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getVisibility

VisibilityKind getVisibility()
                             throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the visibility of the Slot's Property as a Named Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isStatic

boolean isStatic()
                 throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot static (has classifier scope)?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isReadOnly

boolean isReadOnly()
                   throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot read-only (cannot be modified)?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getType

IType getType()
              throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Type of the Property of this Slot as a Typed Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getTypeFQName

java.lang.String getTypeFQName()
                               throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the fully qualified name of the Type of the Property of this Slot as a Typed Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getTypeUQName

java.lang.String getTypeUQName()
                               throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the unqualified name of the Type of the Property of this Slot as a Typed Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isSingleValued

boolean isSingleValued()
                       throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot as a Multiplicity Element single-valued? It is if its upper bound is 1.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isMultiValued

boolean isMultiValued()
                      throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot as a Multiplicity Element multi-valued? It is if its upper bound is greater than 1.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getLowerBound

int getLowerBound()
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the lower multiplicity bound of the Property of this Slot as a Multiplicity Element.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isLimited

boolean isLimited()
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is there an upper bound of cardinality?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isUnlimited

boolean isUnlimited()
                    throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Isn't there an upper bound of cardinality?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getUpperBound

int getUpperBound()
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the upper multiplicity bound of the Property of this Slot as a Multiplicity Element. If the element is unlimited, returns 0.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

includesCardinality

boolean includesCardinality(int c)
                            throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the given cardinality allowed by the multiplicity?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

conformsTo

boolean conformsTo(ISlot<?> slt)
                   throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Does this Slot conform to the given one?
Relies on the same operation of Slots' Properties.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

canAccept

boolean canAccept(IClassifierInstance val)
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Can this Slot accept the given value?
It can if the value is of the proper type.
Relies on the same operation of Slot's Property.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isOrdered

boolean isOrdered()
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot ordered?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isUnique

boolean isUnique()
                 throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot unique?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isDerived

boolean isDerived()
                  throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot derived?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isDerivedUnion

boolean isDerivedUnion()
                       throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot a derived union?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isPropagatedDeletion

boolean isPropagatedDeletion()
                             throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot marked to propagate deletion?
For composite association ends, it always is.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

isComposite

boolean isComposite()
                    throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Is the Property of this Slot a composite aggregation?

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getOpposite

IProperty getOpposite()
                      throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the opposite Property of the Property of this Slot, if it is an association end.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

getAssociation

IAssociation getAssociation()
                            throws rs.sol.soloist.server.uml.exceptions.RequestFailedException
Returns the Association of the Property of this Slot, if it is an association end.

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException

size

long size()
          throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the current size of this Slot.
Always simply calls Actions::Action.readSlotSize(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

count

long count(T val)
           throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the number of occurrences of the given value in this Slot.
Always simply calls Actions::Action.readSlotCount(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

read

java.util.List<T> read()
                                                   throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the entire value of this Slot.
Always simply calls Actions::Action.readSlot(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

val

T val()
                                  throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns one value (the first or the only one) from this Slot.
Always simply calls Actions::Action.readValueFromSlot(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

at

T at(int at)
                                 throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the value at the given position in this Slot.
Always simply calls Actions::Action.readValueFromSlotAt(this,at).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

first

T first()
                                    throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the first value from this Slot.
Always simply calls Actions::Action.readFirstValueFromSlot(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

last

T last()
                                   throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Reads and returns the last value from this Slot.
Always simply calls Actions::Action.readLastValueFromSlot(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

clear

void clear()
           throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Clears (removes all values from) this Slot.
Always simply calls Actions::Action.clearSlot(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

remove

void remove(T val)
            throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Removes all occurrences of the given value from this Slot.
Always simply calls Actions::Action.removeValueFromSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

removeOne

void removeOne(T val)
               throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Removes one (the first, or the only one) occurrence of the given value from this Slot.
Always simply calls Actions::Action.removeOneValueFromSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

removeAt

T removeAt(int at)
                                       throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Removes the value from the given position in this Slot and returns that value.
Always simply calls Actions::Action.removeValueFromSlotAt(this,at).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

removeFirst

T removeFirst()
                                          throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Removes and returns the first value from this Slot.
Always simply calls Actions::Action.removeFirstValueFromSlotAt(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

removeLast

T removeLast()
                                         throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Removes and returns the last value from this Slot.
Always simply calls Actions::Action.removeLastValueFromSlotAt(this).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

set

void set(java.util.List<? extends T> val)
         throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Assigns the given value (removes all values and then assigns new ones) to this Slot.
Always simply calls Actions::Action.setSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

set

void set(T val)
         throws rs.sol.soloist.server.uml.exceptions.RequestFailedException,
                rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Assigns the given value (removes all values and then assigns the new one) to this Slot.
Always simply calls Actions::Action.setSlot(this,{val}).

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

add

void add(T val)
         throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Adds a new value to this Slot.
Always simply calls Actions::Action.addValueToSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

addAt

void addAt(T val,
           int at)
           throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Adds a new value to this Slot at the given position.
Always simply calls Actions::Action.addValueToSlotAt(this,val,at).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

addFirst

void addFirst(T val)
              throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Adds a new value to this Slot at the beginning.
Always simply calls Actions::Action.addFirstValueToSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

addLast

void addLast(T val)
             throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Adds a new value to this Slot at the end.
Always simply calls Actions::Action.addLastValueToSlot(this,val).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

reorder

void reorder(int at1,
             int at2)
             throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Exchanges the values at the two given positions in this Slot.
Position -1 indicates the tailing (last) position.
Always simply calls Actions::Action.reorderValuesInSlot(this,at1,at2).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

replace

void replace(T val,
             T newVal)
             throws rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Replaces one (the first, or the only one) occurrence of the given value in this Slot with the given new value.
Always simply calls Actions::Action.replaceValueInSlot(this,val,newVal).

Throws:
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException

copy

void copy(ISlot<? extends T> sltFrom)
          throws rs.sol.soloist.server.uml.exceptions.RequestFailedException,
                 rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException
Copies the value of the given Slot sltFrom to this Slot (removes all values and then assigns new ones).
Always simply calls Actions::Action.copySlot(this,sltFrom).

Throws:
rs.sol.soloist.server.uml.exceptions.RequestFailedException
rs.sol.soloist.server.uml.exceptions.ActionExecutionFailedException