ACCUMULATOR
- this Accumulator
typepublic interface Accumulator<ACCUMULATOR extends Accumulator<ACCUMULATOR>> extends SealedAccumulator<ACCUMULATOR>, MutableAccumulator<ACCUMULATOR>, Primitive<ACCUMULATOR>, Iterable<Accumulator<?>>
Primitive
target, a Javascript-like associative
list of
member relationships, and a function defined by the subclass of
Accumulator. The scalar and textual values of the Primitive target are
offered by the Accumulator's own Primitive interface, while the structural
properties of the relationship container are offered through through the
structural queries of the same Primitive interface. For instance, both the
Accumulator's StructureProperties.isEmpty()
and SealedAlgebraicStructure.size()
functions will reflect
the current member count, not the size of the associated Primitive target.
Similarly, the MutableTextValue.clear()
and MutableAlgebraicStructure.clearContents()
calls will empty
the relationship collection. To access the structure of the target Primitive,
the use SealedAccumulator.getTarget()
first. Moreover, SealedAlgebraicStructure.getDomain()
will
reflect the domain of the Accumulator, which will usually be
ALGEBRAIC
.associative
list. They keys
in this mapped List
, although they are themselves Accumulators, are
usually implemented by text, and are usually interpreted as attribute names.
The values in this list are, of course, the Accumulator values of those
attributes. Since both keys and values are other Accumulators, it is possible
to build rich, hierarchical structures.apply
or copy
functions is to
avoid implicit loops. Instead, function implementors should try to implement
atomic, or near-atomic actions, then leave looping control to the caller. To
support this, the apply
function must return an applicable
ControlIntention
, so that the caller can be appropriately directed
towards their next recommended course of action. The presence of the
Accumulator members collection increases the risk of long implicit looping
outside of the caller's control, which the state machine control strategy is
intended to help avoid.Modifier and Type | Method and Description |
---|---|
ControlIntention |
apply(Accumulator<?> aStack)
Apply this Accumulator's association function to the specified
Accumulator, using it as a parameter and result stack
|
first, getTarget, isEqualToAccumulator, isTargetReplaceable, last, members, peek, toFunctionName
copy, copySharing, copySharing, copySharing, copySharing, copyUsingAccumulator, copyUsingPrimitive, toAccumulator
pop, push, push, push, push, push, push, push, push, push, push, push, push, push, pushPrimitive, pushText, replaceRelationshipsUsing, setAccumulator, shareTarget, shareTargetWith
swapPrimitives
inducePostDecrement, inducePostIncrement, inducePrimitiveMaximum, inducePrimitiveMinimum, inducePrimitiveValue
compareToPrimitive, isEqualToPrimitive, isGreaterOrEqualToPrimitive, isGreaterThanPrimitive, isLessOrEqualToPrimitive, isLessThanPrimitive, isNotEqualToPrimitive
compareTo
copyUsingText, toPrimitive
andOfPrimitive, angleWithPrimitive, differenceOfPrimitive, hypotenuseWithPrimitive, modOfPrimitive, orOfPrimitive, powerOfPrimitive, productOfPrimitive, quotientOfPrimitive, setBoolean, setCharacter, setPrimitive, sumOfPrimitive, xorOfPrimitive
inducePostDecrement, inducePostIncrement, induceRealValue
inducePostDecrement, inducePostIncrement, induceScalarValue
compareToReal, compareToReal, compareToReal, isEqual, isEqual, isEqualToReal, isGreater, isGreater, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqualToReal, isGreaterThanReal, isLess, isLess, isLessOrEqual, isLessOrEqual, isLessOrEqualToReal, isLessThanReal, isNotEqual, isNotEqual, isNotEqualToReal
compareToNumber, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToScalar, compareToZero, isEqual, isEqual, isEqual, isEqual, isEqual, isEqual, isEqual, isEqual, isEqualToNumber, isEqualToScalar, isFalse, isGreater, isGreater, isGreater, isGreater, isGreater, isGreater, isGreater, isGreater, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqual, isGreaterOrEqualToNumber, isGreaterOrEqualToScalar, isGreaterThanNumber, isGreaterThanScalar, isLess, isLess, isLess, isLess, isLess, isLess, isLess, isLess, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqual, isLessOrEqualToNumber, isLessOrEqualToScalar, isLessThanNumber, isLessThanScalar, isNotEqual, isNotEqual, isNotEqual, isNotEqual, isNotEqual, isNotEqual, isNotEqual, isNotEqual, isNotEqualToNumber, isNotEqualToScalar, isTrue, toBoolean, toCharacter, toCodePoint, toEnumeration, toNumber
equals, getConcurrency, hashCode, toString
isFinite, isImaginary, isInfinity, isInvalid, isMaximum, isMinimum, isModulo, isNegative, isNegativeFinite, isNegativeInfinity, isPositive, isPositiveFinite, isPositiveInfinity, isReal, isUnity, isValid, isZero, signum
isAlphabetic, isBmpCodePoint, isDigit, isHighSurrogate, isIdentifierIgnorable, isIdeographic, isISOControl, isJavaIdentifierPart, isJavaIdentifierStart, isLetter, isLetterOrDigit, isLowerCase, isLowSurrogate, isMirrored, isSupplementaryCodePoint, isSurrogate, isTitleCase, isUnicode, isUnicodeIdentifierPart, isUnicodeIdentifierStart, isUpperCase, isValidCodePoint, isWhitespace
booleanValue
byteValue
charValue
doubleValue
floatValue
intValue
longValue
shortValue
induceRealMaximum, induceRealMinimum
getPrecision, induceScalarMaximum, induceScalarMinimum
induceRealSize
induceScalarSize
getDomain, getStructureStrategy, longSize, size
isConfigurable, isCountable, isElastic, isEmpty, isExpandable, isOrdered, isReducible, isUnique
copyUsing, copyUsing, copyUsingReal, toReal
copyUsing, copyUsing, copyUsing, copyUsing, copyUsing, copyUsing, copyUsing, copyUsing, copyUsingScalar, toScalar
and, andOfReal, angleWithReal, difference, difference, differenceOfReal, gcd, gcdOfReal, hypotenuseWithReal, mod, mod, modOfReal, or, orOfReal, powerOfReal, product, product, productOfReal, quotient, quotient, quotientOfReal, setReal, sum, sum, sumOfReal, xor, xorOfReal
absoluteValue, and, and, and, and, and, and, andOfNumber, andOfScalar, angleWith, angleWithNumber, angleWithScalar, arcCosine, arcSine, arcTangent, base10Log, ceiling, cosine, cube, cubeRoot, decrement, degrees, difference, difference, difference, difference, difference, difference, difference, difference, differenceOfNumber, differenceOfScalar, down, exponential, exponentialLessOne, floor, gcd, gcd, gcd, gcd, gcd, gcdOfNumber, gcdOfScalar, halfDown, halfEven, halfUp, hyperbolicCosine, hyperbolicSine, hyperbolicTangent, hypotenuseWith, hypotenuseWithNumber, hypotenuseWithScalar, increment, invalidate, inverse, milliseconds, mod, mod, mod, mod, mod, mod, mod, mod, modOfNumber, modOfScalar, nanoseconds, naturalLog, naturalLogPlusOne, negate, not, or, or, or, or, or, or, orOfNumber, orOfScalar, power, power, powerOfNumber, powerOfScalar, product, product, product, product, product, product, product, product, productOfNumber, productOfScalar, quotient, quotient, quotient, quotient, quotient, quotient, quotient, quotient, quotientOfNumber, quotientOfScalar, radians, random, round, setE, setEnumeration, setMaximum, setMinimum, setNegativeInfinity, setNumber, setPi, setPositiveInfinity, setScalar, setUnity, setZero, shiftLeft, shiftRight, shiftRightExtendZero, sine, square, squareRoot, sum, sum, sum, sum, sum, sum, sum, sum, sumOfNumber, sumOfScalar, tangent, up, xor, xor, xor, xor, xor, xor, xorOfNumber, xorOfScalar
booleanPostDecrement, booleanPostIncrement, setFalse, setScalar, setTrue
bytePostDecrement, bytePostIncrement, setScalar
charPostDecrement, charPostIncrement, setScalar
doublePostDecrement, doublePostIncrement, setScalar
floatPostDecrement, floatPostIncrement, setScalar
intPostDecrement, intPostIncrement, setScalar
longPostDecrement, longPostIncrement, setScalar
setScalar, shortPostDecrement, shortPostIncrement
assertPrecision, promoteTo
assertDomain, clear, clearContents
toUnlimitedInteger
setReal, unlimitedIntegerPostDecrement, unlimitedIntegerPostIncrement
toUnlimitedDecimal
setReal, unlimitedDecimalPostDecrement, unlimitedDecimalPostIncrement
induceTextSize, induceTextValue
compareToText, isEqualToText, isGreaterOrEqualToText, isGreaterThanText, isLessOrEqualToText, isLessThanText, isNotEqualToText
copyUsingText
codePointAt, codePointBefore, codePointCount, indexOfText, indexOfText, substring, substring
charAt, length, subSequence, toString
isEmpty, isText
append, append, append, append, append, append, append, append, append, append, append, append, append, append, appendCodePoint, clear, clearText, delete, deleteCharAt, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, lowerCase, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, prepend, replace, replace, replaceAll, replaceCharacter, replaceFirst, reverse, setCharAt, setLength, setText, textPostDecrement, textPostIncrement, titleCase, trim, upperCase
ControlIntention apply(Accumulator<?> aStack)
aStack
- a parameter and result stackaction
to be taken by
the callerCopyright © 2006-2012 Ware-Squared Software Development. All Rights Reserved.