new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.PROPERTY),
"color")
will be a named operation for getting the property named "color" on the
object it is applied to, and
new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.ELEMENT),
3)
will be a named operation for getting the element at index 3 from the collection
it is applied to ("name" in this context is akin to "address" and encompasses both
textual names, numeric indices, or any other kinds of addressing that linkers can
understand). In these cases, the expected signature of the call site for the
operation will change to no longer include the name parameter. Specifically,
the documentation for all StandardOperation members describes how
they are affected by being incorporated into a named operation.
While NamedOperation can be constructed directly, it is often convenient
to use the Operation#named(Object) factory method instead, e.g.:
StandardOperation.GET
.withNamespace(StandardNamespace.ELEMENT),
.named(3)
)
Even though NamedOperation is most often used with NamespaceOperation as
its base, it can have other operations as its base too (except another named operation).
Specifically, StandardOperation#CALL as well as StandardOperation#NEW can
both be used with NamedOperation directly. The contract for these operations is such
that when they are used as named operations, their name is only used for diagnostic messages,
usually containing the textual representation of the source expression that retrieved the
callee, e.g. StandardOperation.CALL.named("window.open").
| Access | Constructor and Description |
|---|---|
| public | NamedOperation(final Operation
the base operation that is associated with a name. baseOperation, final Object the name associated with the base operation. Note that the
name is not necessarily a string, but can be an arbitrary object. As the
name is used for addressing, it can be an name)Integer when meant
to be used as an index into an array or list etc.Creates a new named operation. |
| Modifier and Type | Method and Description |
|---|---|
| public final NamedOperation | Returns: a named operation with the changed name.the new name to replace the old name with. newName)Finds or creates a named operation that differs from this one only in the name. |
| public boolean | equals(final Object obj)
Overrides java. Compares this named operation to another object. |
| public Operation | Returns: the base operation of this named operation.Returns the base operation of this named operation. |
| public static Operation | Returns: the base operation of the passed operation.the operation op)If the passed operation is a named operation, returns its
|
| public Object | |
| public static Object | |
| public int | |
| public String | toString()
Overrides java. Returns the string representation of this named operation. |
| baseOperation | back to summary |
|---|---|
| private final Operation baseOperation | |
| name | back to summary |
|---|---|
| private final Object name | |
| NamedOperation | back to summary |
|---|---|
| public NamedOperation(final Operation baseOperation, final Object name) Creates a new named operation.
| |
| changeName | back to summary |
|---|---|
| public final NamedOperation changeName(final String newName) Finds or creates a named operation that differs from this one only in the name.
| |
| equals | back to summary |
|---|---|
| public boolean equals(final Object obj) Overrides java. Compares this named operation to another object. Returns true if the other object is also a named operation, and both their base operations and name are equal.
| |
| getBaseOperation | back to summary |
|---|---|
| public Operation getBaseOperation() Returns the base operation of this named operation.
| |
| getBaseOperation | back to summary |
|---|---|
| public static Operation getBaseOperation(final Operation op) If the passed operation is a named operation, returns its
| |
| getName | back to summary |
|---|---|
| public Object getName() Returns the name of this named operation.
| |
| getName | back to summary |
|---|---|
| public static Object getName(final Operation op) If the passed operation is a named operation, returns its
| |
| hashCode | back to summary |
|---|---|
| public int hashCode() Overrides java. Returns the hash code of this named operation. It is defined to be equal
to
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Returns the string representation of this named operation. It is defined
to be equal to
| |