codesimian
Class LongListOfStrings
java.lang.Object
codesimian.CS<CSGeneric>
codesimian.DefaultCS
codesimian.LongListOfStrings
- All Implemented Interfaces:
- CodeSimian
public class LongListOfStrings
- extends DefaultCS
Any list can contain java.lang.Strings, but this class does it with less memory
because they are not converted to S objects (which wrap a String). They are stored
in a List directly.
You can only insert and delete at the end, not in the middle or index 0.
Fields inherited from class codesimian.CS |
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS |
Method Summary |
int |
countP()
Quantity of params. |
boolean |
deleteP(int index,
CS value)
|
double |
DForProxy()
Execute this CS and cast to double. |
boolean |
insertP(int index,
CS value)
same as setP(int,CS) but inserts instead of overwriting. |
java.lang.String |
keyword()
For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.
Override this function if you want to specify a keyword
other than how I derive them from the class name, like + for Add.
Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()". |
int |
maxP()
Maximum quantity of Params |
int |
minP()
For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1. |
CS |
P(int index)
WARNING: if add CSs then delete them, they are still in the param[] array
and can be returned in this function, despite them being out of valid range: index at least countP(). |
java.lang.Object |
PL(int index,
java.lang.Class type)
PL PD PF PJ PI PS PC PB and PZ are only for convenience and optimization. |
boolean |
setL1(int index,
java.lang.Object value)
needs to be tested |
boolean |
setP(int index,
CS value)
Every CS is a list of other CSs, between size minP() and maxP() inclusive. |
Methods inherited from class codesimian.DefaultCS |
B, C, decrementMyFuel, deleteP, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertS, insertZ, J, javaCode, LForProxy, LForProxy, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setMyFuel, setName, setObject, setPrevExec, setPType, setS, setZ, start, toString, V, Z |
Methods inherited from class codesimian.CS |
addB, addC, addD, addF, addI, addJ, addL, addP, addP, addP, addP, addP, addS, addZ, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, isIllusion, JForProxy, L, L, L, L, L, maxD, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, reflect6, setB, SETB, setC, SETC, setCost, SETD, setDescription, setF, SETF, setHeap, setI, SETI, setJ, SETJ, SETL, setL, setL, setParent, setParsePriority, setProxyOf, setS, SETS, setTester, setZ, SETZ, SForProxy, tester, toJavaCode, VForProxy, voidReflect, ZForProxy |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
LongListOfStrings
public LongListOfStrings()
minP
public int minP()
- Description copied from class:
DefaultCS
- For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1.
- Overrides:
minP
in class DefaultCS
maxP
public int maxP()
- Description copied from class:
CS
- Maximum quantity of Params
- Overrides:
maxP
in class CS
keyword
public java.lang.String keyword()
- Description copied from class:
DefaultCS
- For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.
Override this function if you want to specify a keyword
other than how I derive them from the class name, like + for Add.
Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
Default: Returns class name, minus package name (and its dots), and change the first letter to lowercase.
For example, CS.MaxParams does not override keyword(), which returns "maxP".
- Overrides:
keyword
in class DefaultCS
- See Also:
CS.parent()
,
CS.newInstance()
,
CS.name()
DForProxy
public double DForProxy()
- Description copied from class:
CS
- Execute this CS and cast to double.
D() and DForProxy() are the 2 most important functions in CS.
They execute this CS. All other execute functions,
by default, return DForProxy cast to their own type.
For example, J() calls the proxy which calls JForProxy() which calls DForProxy().
D() calls the proxy which calls DForProxy().
By default, all other primitive EXECUTE functions defer to D.
Functions that EXECUTE this CS: L(Class) L(int,Class,int) Z() B() C() S() I() J() F() D() V()
- Specified by:
DForProxy
in class DefaultCS
countP
public int countP()
- Description copied from class:
CS
- Quantity of params. Should be between minP() and maxP() inclusive when you EXECUTE this CS.
Can be below minP() for a short time during compiling, but you must not EXECUTE this CS during that time.
- Overrides:
countP
in class DefaultCS
P
public CS P(int index)
- Description copied from class:
DefaultCS
- WARNING: if add CSs then delete them, they are still in the param[] array
and can be returned in this function, despite them being out of valid range: index at least countP().
- Overrides:
P
in class DefaultCS
- Parameters:
index
- range 0 (or neg?) to countP()-1 inclusive- See Also:
CS.heap()
PL
public java.lang.Object PL(int index,
java.lang.Class type)
- Description copied from class:
CS
- PL PD PF PJ PI PS PC PB and PZ are only for convenience and optimization.
Each gets P(int) then calls L(Class) D() F() etc on it, the second letter of that function's name.
PL(5,String.class) should return P(5).L(String.class) or something that gets the same result faster.
- Overrides:
PL
in class CS
setP
public boolean setP(int index,
CS value)
- Description copied from class:
CS
- Every CS is a list of other CSs, between size minP() and maxP() inclusive.
setP overwrites one of those CSs or adds a new one at the end, depending on the index.
If index is between 0 and countP()-1, overwrites. If it equals countP(), adds at end.
- Overrides:
setP
in class DefaultCS
setL1
public boolean setL1(int index,
java.lang.Object value)
- Description copied from class:
DefaultCS
- needs to be tested
- Specified by:
setL1
in interface CodeSimian
- Overrides:
setL1
in class DefaultCS
insertP
public boolean insertP(int index,
CS value)
- Description copied from class:
CS
- same as setP(int,CS) but inserts instead of overwriting. All higher params slide up 1 index.
- Overrides:
insertP
in class DefaultCS
deleteP
public boolean deleteP(int index,
CS value)