Package org.jmol.script
Class SV
- java.lang.Object
-
- org.jmol.script.T
-
- org.jmol.script.SV
-
- All Implemented Interfaces:
javajs.api.JSONEncodable
public class SV extends T implements javajs.api.JSONEncodable
ScriptVariable class
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
SV.Sort
-
Field Summary
Fields Modifier and Type Field Description int
index
java.lang.String
myName
(package private) static javajs.util.P3
pt0
static SV
vF
static SV
vNaN
static SV
vT
-
Fields inherited from class org.jmol.script.T
__, _args, abs, absolute, acos, add, addhydrogens, adjust, adpmax, adpmin, align, all, allconnected, allfloat, allowaudio, allowembeddedscripts, allowgestures, allowkeystrokes, allowmodelkit, allowmoveatoms, allowmultitouch, allowrotateselected, altloc, ambientocclusion, ambientpercent, amino, andequals, angle, angstroms, animation, animationfps, animationmode, anisotropy, antialiasdisplay, antialiasimages, antialiastranslucent, apivot, append, appendnew, appletproxy, applysymmetrytobonds, arc, area, aromatic, array, arrow, as, assign, astrType, async, atomExpressionCommand, atomicorbital, atomid, atomindex, atomname, atomno, atompicking, atomproperty, atoms, atomtype, atomtypes, atomx, atomy, atomz, audio, auto, autobond, autofps, autoplaymovie, average, axes, axescolor, axesmode, axesmolecular, axesoffset, axesorientationrasmol, axesscale, axesunitcell, axeswindow, axis, axis1color, axis2color, axis3color, axisangle, babel, babel21, back, backbone, background, backgroundcolor, backgroundmodel, backlit, backshell, balls, barb, barray, basemodel, basepair, best, beta, bin, binary, bind, bitset, blockdata, bondcount, bonded, bondingradius, bondingversion, bondmode, bondmodeor, bondorder, bondpicking, bondradiusmilliangstroms, bonds, bondset, bondtolerance, booleanparam, bottom, boundbox, boundboxcolor, branch, breakcmd, brillouin, cache, calculate, cameradepth, cancel, cap, capture, carbohydrate, cartoon, cartoonbaseedges, cartoonblockheight, cartoonblocks, cartoonladders, cartoonribose, cartoonrockets, cartoonsfancy, cartoonsteps, casecmd, catchcmd, cavity, cd, cell, celshading, celshadingpower, center, centerat, centroid, cgo, chain, chaincasesensitive, chainno, check, checkcir, chemical, chemicalshift, chirality, ciprule, ciprule6full, circle, clash, clear, clickable, clipboard, col, collapsed, colon, color, colorrasmol, colorscheme, comma, command, commands, comparator, compare, configuration, connect, connected, console, constraint, contact, context, contextdepthmax, continuecmd, contour, contourlines, contours, coord, corners, cos, count, covalentradius, create, criterion, cross, crossed, currentlocalpath, curve, cutoff, cylinder, data, dataseparator, debug, debughigh, debugscript, decimal, defaultanglelabel, defaultcmd, defaultcolorscheme, defaultdirectory, defaultdistancelabel, defaultdrawarrowscale, defaultdropscript, defaultlabelpdb, defaultlabelxyz, defaultlattice, defaultloadfilter, defaultloadscript, defaultON, defaults, defaultstructuredssp, defaulttorsionlabel, defaulttranslucent, defaultvdw, define, delay, delaymaximumms, delete, density, deprecatedparam, depth, diameter, diffusepercent, dipole, dipolescale, direction, disablepopupmenu, discrete, displacement, display, displaycellparameters, displayed, distance, distancefactor, div, divide, dna, dollarsign, domains, dot, dotdensity, dots, dotscale, dotsselectedonly, dotsurface, dotted, doubleprecision, downsample, dragselected, draw, drawfontsize, drawhover, drawing, drawpicking, dssp, dsspcalchydrogen, dssr, dynamicmeasurements, eccentricity, echo, ed, edges, edgesonly, eds, edsdiff, element, elemisono, elemno, ellipsoid, ellipsoidarcs, ellipsoidarrows, ellipsoidaxes, ellipsoidaxisdiameter, ellipsoidball, ellipsoiddotcount, ellipsoiddots, ellipsoidfill, elsecmd, elseif, end, endifcmd, energy, energyunits, error, eta, eval, exit, exitjmol, exportscale, expressionBegin, expressionEnd, facecenteroffset, file, filecachedirectory, filecaching, fill, filter, find, first, fixed, fixedtemp, flat, floatparam, floatproperty, flowCommand, font, fontcaching, fontscaling, fontsize, forceautobond, forcefield, forcmd, formalcharge, format, fps, fractionalrelative, fracx, fracxyz, fracy, fracz, frame, frank, from, front, frontedges, frontlit, frontonly, full, fullplane, fullylit, function, functionxy, functionxyz, fux, fuxyz, fuy, fuz, geosurface, gestureswipefactor, getproperty, gotocmd, greyscalerendering, gridpoints, group, group1, groupid, groupindex, halo, hash, hbond, hbondhxdistancemaximum, hbondnodistancemaximum, hbondsangleminimum, hbondsbackbone, hbondsrasmol, hbondssolid, helix, helix310, helixalpha, helixpi, helixstep, help, helppath, hermitelevel, hetero, hidden, hiddenlinesdashed, hide, hidenameinpopup, hidenavigationpoint, hidenotselected, highlight, highresolution, history, historylevel, hkl, homo, hover, hoverdelay, hoverlabel, hydrogen, hydrophobicity, id, identifier, identify, ifcmd, ignore, image, imagestate, implicitStringCommand, in, inchi, inchikey, increment, info, infofontsize, initialize, inline, inscode, insertion, insideout, integer, interior, intermolecular, internal, intersection, intparam, intproperty, intramolecular, intValue, invertSelected, isaromatic, iskiosk, isosurface, isosurfacekey, isosurfacepropertysmoothing, isosurfacepropertysmoothingpower, javascript, jmol, jmolinjspecview, join, json, justifymeasurements, keys, label, labelpointerwidth, language, languagetranslation, last, lattice, lcaocartoon, leadatom, left, leftbrace, leftdivide, leftparen, leftsquare, legacyautobonding, legacyhaddition, legacyjavafloat, length, lighting, line, linedata, lines, link, list, listf, load, loadatomdatatolerance, loadformat, loadligandformat, lobe, log, logcommands, logfile, loggestures, loglevel, lonepair, loop, lp, lumo, macro, macrodirectory, magneticshielding, manifest, mapproperty, mass, mathExpressionCommand, mathfunc, mathop, mathproperty, matrix3f, matrix4f, max, maxset, measure, measureallmodels, measurementlabels, measurementnumbers, measurements, measurementunits, menu, mep, mesh, meshRibbon, meshscale, message, messagestylechime, middle, min, minbonddistance, minimizationcriterion, minimizationmaxatoms, minimizationrefresh, minimizationsilent, minimizationsteps, minimize, minmaxmask, minpixelselradius, minset, minus, minusMinus, misc, mlp, mo, mode, model, modelbased, modelindex, modelkitmode, modify, modifyorcreate, modo, modt1, modt2, modt3, modulateoccupancy, modulation, modulationscale, modx, modxyz, mody, modz, molecular, molecule, monitorenergy, monomer, morph, mouse, mousedragfactor, mousewheelfactor, move, moveto, movie, mrc, msms, mul, mul3, multiplebondbananas, multiplebondradiusfactor, multiplebondspacing, multiprocessor, mutate, nada, name, navfps, navigate, navigatesurface, navigationdepth, navigationmode, navigationperiodic, navigationslab, navigationspeed, navx, navy, navz, nbo, nbocharges, nci, next, nihresolverformat, nmr, nmrpredictformat, nmrurlformat, noArgs, nobackshell, nocontourlines, nocross, nodebug, nodelay, nodots, noedges, nofill, nohead, noload, nomesh, none, noplane, normal, notfrontonly, notriangles, now, nucleic, obj, object, occupancy, off, offset, offsetside, omega, on, once, only, opAnd, opAND, opaque, opEQ, opGE, opGT, opIf, opLE, opLIKE, opLT, opNE, opNot, opOr, options, opToggle, opXor, orbital, orientation, origin, out, packed, palindrome, parallel, parameters, paramTypes, partialcharge, partialdots, particleradius, path, pathforallfiles, pause, pdb, pdbaddhydrogens, pdbgetheader, pdbheader, pdbsequential, per, percent, percentvdwatom, period, perpendicular, perper, perspectivedepth, perspectivemodel, phase, phi, phongexponent, picking, pickingspinrate, pickingstyle, picklabel, pivot, pivot2, planarparam, plane, platformspeed, play, playrev, plot, plot3d, plus, plusPlus, pmesh, pocket, point, point3f, point4f, pointgroup, pointgroupdistancetolerance, pointgrouplineartolerance, pointsperangstrom, polygon, polyhedra, polymer, polymerlength, pop, predefinedset, preservestate, prev, print, privat, probe, process, prompt, property, propertyatomnumbercolumncount, propertyatomnumberfield, propertycolorscheme, propertydatacolumncount, propertydatafield, PROPERTYFLAGS, propselector, protein, psi, purine, push, pymol, pyrimidine, quaternion, quaternionframe, quit, rad, radical, radius, ramachandran, random, range, rangeselected, rasmol, redo, redomove, reference, refresh, refreshing, remove, repaintwaitms, replace, reset, residue, resno, resolution, restore, restrict, resume, returncmd, reverse, reversecolor, rewind, ribbon, ribbonaspectratio, ribbonborder, right, rightbrace, rightparen, rightsquare, rmsd, rna, rna3d, rock, rocket, rocketbarrels, rotate, rotate45, rotateSelected, rotation, rotationradius, row, rubberband, sasurface, save, saved, saveproteinstructurestate, scale, scale3d, scaleangstromsperinch, scene, screenx, screenxyz, screeny, screenz, script, scriptCommand, scriptqueue, scriptreportinglevel, search, select, selectallmodels, selected, selectedfloat, selecthetero, selecthydrogen, selection, selectionhalos, semicolon, seqcode, seqid, sequence, set, setparam, settable, shape, shapeCommand, shapely, sheet, sheetsmoothing, show, showaxes, showboundbox, showfrank, showhiddenselectionhalos, showhydrogens, showkeystrokes, showmeasurements, showmodvecs, showmultiplebonds, shownavigationpointalways, showscript, showtiming, showunitcell, showunitcelldetails, sidechain, sigma, sign, silent, sin, site, size, slab, slabbyatom, slabbymolecule, slabenabled, slabrange, smallmoleculemaxatoms, smartaromatic, smiles, smiles2dimageformat, smilesurlformat, solid, solvent, solventprobe, solventproberadius, sort, spacebeforesquare, spacefill, spacegroup, spec_alternate, spec_atom, spec_chain, spec_model, spec_model2, spec_name_pattern, spec_resid, spec_seqcode, spec_seqcode_range, specialposition, specular, specularexponent, specularpercent, specularpower, sphere, spin, spine, spinfps, spinx, spiny, spinz, split, sqrt, squared, ssbond, ssbondsbackbone, star, starwidth, state, statusreporting, stddev, stdinchi, stdinchikey, step, stereo, stereodegrees, stop, straightness, strandcount, strandcountformeshribbon, strandcountforstrands, strands, string, strparam, strproperty, strucid, strucno, structure, strutdefaultradius, strutlengthmaximum, struts, strutsmultiple, strutspacing, sub, subset, substructure, subsystem, sum, sum2, supercell, surface, surfacedistance, switchcmd, symbol, symmetry, symop, sync, syncmouse, syncscript, temperature, tensor, testflag1, testflag2, testflag3, testflag4, theta, thismodel, throwcmd, ticks, timeout, times, timestimes, title, titleformat, to, togglelabel, tok, tokenAll, tokenAnd, tokenAndFALSE, tokenAndSpec, tokenArrayClose, tokenArrayOpen, tokenArraySquare, tokenColon, tokenComma, tokenConnected, tokenCoordinateBegin, tokenCoordinateEnd, tokenDefineString, tokenDivide, tokenEquals, tokenExpressionBegin, tokenExpressionEnd, tokenIf, tokenLeftBrace, tokenLeftParen, tokenMinus, tokenMul3, tokenOff, tokenOn, tokenOpIf, tokenOr, tokenOrTRUE, tokenPlus, tokenRightBrace, tokenRightParen, tokenScript, tokenSet, tokenSetArray, tokenSetCmd, tokenSetProperty, tokenSetVar, tokenSpaceBeforeSquare, tokenSwitch, tokenTimes, top, torsion, trace, tracealpha, trajectory, transform, translate, translateSelected, translation, translucent, triangles, trim, trycmd, twistedsheets, type, unaryMinus, unbind, undo, undoauto, undomax, undomove, unitcell, unitcellcolor, unitx, unitxyz, unity, unitz, url, useminimizationthread, usenumberlocalization, user, usercolorscheme, val, valence, validation, value, vanderwaals, var, variable, variables, varray, vector, vectorscale, vectorscentered, vectorsymmetry, vectortrail, vertices, vibration, vibrationperiod, vibrationscale, vibx, vibxyz, viby, vibz, visible, visualrange, volume, w, waitformoveto, whilecmd, width, wigner, window, windowcentered, wireframe, wireframerotation, within, write, x, xyz, y, z, zap, zdepth, zerobasedxyzrasmol, zoom, zoomenabled, zoomheight, zoomlarge, zoomTo, zshade, zshadepower, zslab
-
-
Constructor Summary
Constructors Constructor Description SV()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
areEqual(SV x1, SV x2)
For legacy reasons, "x" == "X" but see isLike()boolean
asBoolean()
float
asFloat()
int
asInt()
java.lang.String
asString()
(package private) static javajs.util.BS
bsSelectRange(T x, int n)
private static javajs.util.BS
bsSelectToken(T x)
static boolean
bValue(T x)
(package private) boolean
canIncrement()
static SV
concatList(SV x1, SV x2, boolean asNew)
static java.lang.Object
deepCopy(java.lang.Object v, boolean isHash, boolean isDeep)
Copies a hash or array deeply; invoked by Jmol script x = @a where a.type == "hash" or a.type == "varray"private static SV
deepCopySV(SV vm)
java.lang.String
escape()
static float[][]
fflistValue(T x, int nMin)
static float[]
flistValue(T x, int nMin)
static java.lang.Object
format(SV[] args, int pt)
Accepts arguments from the format() function First argument is a format string.static float
fValue(T x)
static int
getArrayDepth(T x)
static javajs.util.BS
getBitSet(SV x, boolean allowNull)
static SV
getBoolean(boolean value)
static int
getFormatType(java.lang.String format)
private void
getKeyList(boolean isAll, javajs.util.Lst<java.lang.String> keys, java.lang.String prefix)
java.lang.String[]
getKeys(boolean isAll)
javajs.util.Lst<SV>
getList()
java.util.Map<java.lang.String,SV>
getMap()
java.lang.String
getMapKeys(int nLevels, boolean skipEmpty)
static SV
getVariable(java.lang.Object x)
(package private) static SV
getVariableAB(byte[] ix)
static SV
getVariableAD(double[] f)
(package private) static SV
getVariableADD(double[][] fx)
(package private) static SV
getVariableAF(float[] f)
(package private) static SV
getVariableAFF(float[][] fx)
(package private) static SV
getVariableAI(int[] ix)
(package private) static SV
getVariableAII(int[][] ix)
(package private) static SV
getVariableAO(java.lang.Object[] o)
(package private) static SV
getVariableAP(javajs.util.T3[] p)
(package private) static SV
getVariableAS(java.lang.String[] s)
(package private) static SV
getVariableASS(java.lang.String[][] fx)
(package private) static SV
getVariableAV(SV[] v)
static SV
getVariableList(javajs.util.Lst<?> v)
static SV
getVariableMap(java.util.Map<java.lang.String,?> x)
(package private) boolean
increment(int n)
private static boolean
isArray(java.lang.Object x)
Must be updated if getVariable is updated!private static boolean
isASV(java.lang.Object x)
static boolean
isLike(SV x1, SV x2)
a LIKE "x" a is a string and equals x a LIKE "*x" a is a string and ends with x a LIKE "x*" a is a string and starts with x a LIKE "*x*" a is a string and contains xboolean
isNaN()
private static boolean
isRawType(int tok)
static boolean
isScalar(SV x)
static boolean
isVariableType(java.lang.Object x)
Must be updated if getVariable is updated!static int
iValue(T x)
SV
mapGet(java.lang.String key)
void
mapPut(java.lang.String key, SV v)
(package private) SV
mapValue(java.lang.String key)
static SV
newF(float f)
static SV
newI(int i)
private static SV
newJSVar(java.lang.Object x)
Conversion to Jmol variables of JavaScript variables using y = javascript("x")static SV
newS(java.lang.String s)
(package private) static SV
newSV(int tok, int intValue, java.lang.Object value)
static SV
newT(T x)
static SV
newV(int tok, java.lang.Object value)
(package private) static java.lang.Object
nValue(T x)
static java.lang.Object
oValue(java.lang.Object xx)
static javajs.util.P4
pt4Value(SV x)
static javajs.util.P3
ptValue(SV x)
SV
pushPop(SV mapKey, SV value)
Script variables are pushed after cloning, because the name comes with them when we do otherwise they are not mutable anyway.static java.lang.Object
safeJSON(java.lang.String key, java.lang.Object property)
Safely create a JSON key - object pair, allowing for already-named arrays(package private) static T
selectItemTok(T tokenIn, int i2)
(package private) static SV
selectItemVar(SV var)
SV
setName(java.lang.String name)
(package private) void
setSelectedValue(int pt1, int pt2, SV var)
(package private) SV
setv(SV v)
Creates a NEW version of the variable.(package private) static int
sizeOf(T x)
SV
sortMapArray(java.lang.String key)
SV
sortOrReverse(int arrayPt)
static java.lang.Object
sprintf(java.lang.String strFormat, SV var)
private static java.lang.String
sprintf(java.lang.String strFormat, SV var, java.lang.Object[] of, int[] vd, float[] vf, double[] ve, boolean getS, boolean getP, boolean getQ)
static java.lang.String[]
strListValue(T x)
static java.lang.String
sValue(T x)
private static void
sValueAddKeys(javajs.util.SB sb, java.lang.String path, java.util.Map<java.lang.String,SV> ht, java.lang.String tabs, boolean isEscaped, boolean addValues, int maxLevels, boolean skipEmpty)
private static void
sValueArray(javajs.util.SB sb, SV vx, java.lang.String path, java.lang.String tabs, boolean isEscaped, boolean isRaw, boolean addValues, int maxLevels, boolean skipEmpty)
SV
toArray()
private static float
toFloat(java.lang.String s)
java.lang.String
toJSON()
java.lang.String
toString()
private static boolean
unEscapeBitSet(SV x, javajs.util.BS bs)
Turn the string "({3:5})" into a bitset(package private) static javajs.util.BS
unEscapeBitSetArray(javajs.util.Lst<SV> x, boolean allowNull)
Turn an array of strings in the form of "{n,n,n:n...} or an array of integers into a bitset.static java.lang.Object
unescapePointOrBitsetAsVariable(java.lang.Object o)
-
Methods inherited from class org.jmol.script.T
addToken, completeCommand, equals, getAtomPropertiesLike, getCommandSet, getMaxMathParams, getParamType, getPrecedence, getSettableTokFromString, getTokenFromName, getTokensLike, getTokensType, getTokFromName, hashCode, i, isIDcmd, n, nameOf, o, t, tokAttr, tokAttrOr, toString2, tv
-
-
-
-
Method Detail
-
newV
public static SV newV(int tok, java.lang.Object value)
-
newI
public static SV newI(int i)
-
newF
public static SV newF(float f)
-
newS
public static SV newS(java.lang.String s)
-
newSV
static SV newSV(int tok, int intValue, java.lang.Object value)
-
setv
SV setv(SV v)
Creates a NEW version of the variable. Object values are not copied. (Just found no use for that.)- Parameters:
v
-- Returns:
- new ScriptVariable
-
sizeOf
static int sizeOf(T x)
-
isVariableType
public static boolean isVariableType(java.lang.Object x)
Must be updated if getVariable is updated!- Parameters:
x
-- Returns:
- if we recognize this as a variable
-
isArray
private static boolean isArray(java.lang.Object x)
Must be updated if getVariable is updated!- Parameters:
x
-- Returns:
- if we recognize this as an primitive array type
-
getVariable
public static SV getVariable(java.lang.Object x)
- Parameters:
x
-- Returns:
- a ScriptVariable of the input type, or if x is null, then a new ScriptVariable, or, if the type is not found, a string version
-
isASV
private static boolean isASV(java.lang.Object x)
-
newJSVar
private static SV newJSVar(java.lang.Object x)
Conversion to Jmol variables of JavaScript variables using y = javascript("x")- Parameters:
x
- a JavaScript variable, perhaps- Returns:
- SV
-
getVariableMap
public static SV getVariableMap(java.util.Map<java.lang.String,?> x)
-
getVariableList
public static SV getVariableList(javajs.util.Lst<?> v)
-
getVariableAD
public static SV getVariableAD(double[] f)
-
getVariableAO
static SV getVariableAO(java.lang.Object[] o)
-
getVariableAS
static SV getVariableAS(java.lang.String[] s)
-
getVariableAP
static SV getVariableAP(javajs.util.T3[] p)
-
getVariableAFF
static SV getVariableAFF(float[][] fx)
-
getVariableADD
static SV getVariableADD(double[][] fx)
-
getVariableASS
static SV getVariableASS(java.lang.String[][] fx)
-
getVariableAII
static SV getVariableAII(int[][] ix)
-
getVariableAF
static SV getVariableAF(float[] f)
-
getVariableAI
static SV getVariableAI(int[] ix)
-
getVariableAB
static SV getVariableAB(byte[] ix)
-
setName
public SV setName(java.lang.String name)
-
canIncrement
boolean canIncrement()
-
increment
boolean increment(int n)
-
asBoolean
public boolean asBoolean()
-
asInt
public int asInt()
-
asFloat
public float asFloat()
-
asString
public java.lang.String asString()
-
oValue
public static java.lang.Object oValue(java.lang.Object xx)
- Parameters:
xx
-- Returns:
- Object-wrapped value
-
nValue
static java.lang.Object nValue(T x)
- Parameters:
x
-- Returns:
- numeric value -- integer or decimal
-
bValue
public static boolean bValue(T x)
-
iValue
public static int iValue(T x)
-
fValue
public static float fValue(T x)
-
sValue
public static java.lang.String sValue(T x)
-
sValueArray
private static void sValueArray(javajs.util.SB sb, SV vx, java.lang.String path, java.lang.String tabs, boolean isEscaped, boolean isRaw, boolean addValues, int maxLevels, boolean skipEmpty)
-
sValueAddKeys
private static void sValueAddKeys(javajs.util.SB sb, java.lang.String path, java.util.Map<java.lang.String,SV> ht, java.lang.String tabs, boolean isEscaped, boolean addValues, int maxLevels, boolean skipEmpty)
-
isRawType
private static boolean isRawType(int tok)
-
ptValue
public static javajs.util.P3 ptValue(SV x)
-
pt4Value
public static javajs.util.P4 pt4Value(SV x)
-
toFloat
private static float toFloat(java.lang.String s)
-
bsSelectToken
private static javajs.util.BS bsSelectToken(T x)
-
bsSelectRange
static javajs.util.BS bsSelectRange(T x, int n)
-
setSelectedValue
void setSelectedValue(int pt1, int pt2, SV var)
-
escape
public java.lang.String escape()
-
unescapePointOrBitsetAsVariable
public static java.lang.Object unescapePointOrBitsetAsVariable(java.lang.Object o)
-
getBoolean
public static SV getBoolean(boolean value)
-
sprintf
public static java.lang.Object sprintf(java.lang.String strFormat, SV var)
-
sprintf
private static java.lang.String sprintf(java.lang.String strFormat, SV var, java.lang.Object[] of, int[] vd, float[] vf, double[] ve, boolean getS, boolean getP, boolean getQ)
-
getFormatType
public static int getFormatType(java.lang.String format)
- Parameters:
format
-- Returns:
- 0: JSON, 5: base64, 12: bytearray, 22: array
-
format
public static java.lang.Object format(SV[] args, int pt)
Accepts arguments from the format() function First argument is a format string.- Parameters:
args
-pt
- 0: to JSON, 5: to base64, 12: to bytearray, 22: to array- Returns:
- formatted string
-
getBitSet
public static javajs.util.BS getBitSet(SV x, boolean allowNull)
-
unEscapeBitSetArray
static javajs.util.BS unEscapeBitSetArray(javajs.util.Lst<SV> x, boolean allowNull)
Turn an array of strings in the form of "{n,n,n:n...} or an array of integers into a bitset.- Parameters:
x
-allowNull
-- Returns:
- bitset (or null if fails and allowNull is false)
-
areEqual
public static boolean areEqual(SV x1, SV x2)
For legacy reasons, "x" == "X" but see isLike()- Parameters:
x1
-x2
-- Returns:
- x1 == x2
-
isLike
public static boolean isLike(SV x1, SV x2)
a LIKE "x" a is a string and equals x a LIKE "*x" a is a string and ends with x a LIKE "x*" a is a string and starts with x a LIKE "*x*" a is a string and contains x- Parameters:
x1
-x2
-- Returns:
- x1 LIKE x2
-
sortOrReverse
public SV sortOrReverse(int arrayPt)
- Parameters:
arrayPt
- 1-based or Integer.MIN_VALUE to reverse- Returns:
- sorted or reversed array
-
pushPop
public SV pushPop(SV mapKey, SV value)
Script variables are pushed after cloning, because the name comes with them when we do otherwise they are not mutable anyway. We do want to have actual references to points, lists, and associative arrays- Parameters:
mapKey
-value
- null to pop- Returns:
- array
-
unEscapeBitSet
private static boolean unEscapeBitSet(SV x, javajs.util.BS bs)
Turn the string "({3:5})" into a bitset- Parameters:
x
-bs
-- Returns:
- a bitset or a string converted to one
-
strListValue
public static java.lang.String[] strListValue(T x)
-
getArrayDepth
public static int getArrayDepth(T x)
-
fflistValue
public static float[][] fflistValue(T x, int nMin)
-
flistValue
public static float[] flistValue(T x, int nMin)
-
toArray
public SV toArray()
-
mapValue
SV mapValue(java.lang.String key)
-
getList
public javajs.util.Lst<SV> getList()
-
isScalar
public static boolean isScalar(SV x)
-
toJSON
public java.lang.String toJSON()
- Specified by:
toJSON
in interfacejavajs.api.JSONEncodable
-
mapGet
public SV mapGet(java.lang.String key)
-
mapPut
public void mapPut(java.lang.String key, SV v)
-
getMap
public java.util.Map<java.lang.String,SV> getMap()
-
getMapKeys
public java.lang.String getMapKeys(int nLevels, boolean skipEmpty)
-
getKeys
public java.lang.String[] getKeys(boolean isAll)
-
getKeyList
private void getKeyList(boolean isAll, javajs.util.Lst<java.lang.String> keys, java.lang.String prefix)
-
deepCopy
public static java.lang.Object deepCopy(java.lang.Object v, boolean isHash, boolean isDeep)
Copies a hash or array deeply; invoked by Jmol script x = @a where a.type == "hash" or a.type == "varray"- Parameters:
v
- hash or arrayisHash
-isDeep
- TODO- Returns:
- deeply copied variable
-
sortMapArray
public SV sortMapArray(java.lang.String key)
-
safeJSON
public static java.lang.Object safeJSON(java.lang.String key, java.lang.Object property)
Safely create a JSON key - object pair, allowing for already-named arrays- Parameters:
key
-property
-- Returns:
- JSON object
-
isNaN
public boolean isNaN()
-
-