Commit Graph

436 Commits

Author SHA1 Message Date
Ray Greenwell c16de5994e Moved these here to narya.
Lately I'm trying to do things more "actionscripty", and so we just
use the "natural" iteration on an object (either 'for' or 'for each').
Plus, we never use these Iterators anywhere except in presents-based code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5983 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-10-27 00:57:48 +00:00
Ray Greenwell a24b0d2d03 So, these classes like Integer and langBoolean exist solely for
streaming to our java server, so let's just make them streamable directly.
Does away with the need for custom Streamers.
Also made them Hashable, in case we read a StreamableHashMap containing
Integers as keys, for example.
Less code is better code.
(Why was BooleanStreamer added the other day? langBoolean was already Streamable
 and was already in Translations)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5960 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-17 21:42:25 +00:00
Ray Greenwell 055aac9b55 Use Joiner instead of StringBuilder, in some places.
Use String concatination in others (it's faster in actionscript than in Java)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5959 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-16 21:13:07 +00:00
Ray Greenwell 32db838be2 Hmm don't throw the ArgumentError inside our own catch, even though
we should have re-thrown it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5951 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-11 16:49:37 +00:00
Ray Greenwell 4fe12a043d Even when fed an object graph with no loops we could have a stack
overflow in our recursive checking. Try to catch it and cope.
I have a bad feeling this won't actually work in some envs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5950 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-11 15:30:43 +00:00
Ray Greenwell 3aec11f519 This is cloggin' the bureau loggin'.
I'm pretty sure it's the BaseGameConfig.
Typically, clients don't add directly to a StreamableHashMap received
from the server, why would they? So let's just treat it as a String-key map
and shut it up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5937 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-30 20:40:37 +00:00
Ray Greenwell 2b5b0389e0 These classes moved from flash-utils back into narya.
Not generally useful to your everyday flash coder.
MessageBundle and MessageManager are built on top of Flex Resources,
and were already being excluded from our asdocs, and TimeUtil uses MessageBundle.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5932 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-25 19:42:47 +00:00
Ray Greenwell da0e42a2b4 Inline references to other classes? That is not the actionscript way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5931 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-25 19:24:21 +00:00
Ray Greenwell 5e0eb1d970 Fix the asdocs here. But wait, why is this even showing up in the SDK docs?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5930 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-25 18:56:18 +00:00
Ray Greenwell 1083490e73 Use newMapOf().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5929 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-24 21:36:19 +00:00
Ray Greenwell f8d5e679fd We use StreamableHashMap sensible and only store one kind of key.
Let's guess the type based on the first key unserialized, and guess if it
was empty.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5928 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-24 05:22:05 +00:00
Michael Bayne d0d5c2805e StringUtil got moved to flash-utils.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-30 21:55:40 +00:00
Michael Bayne 805ef99374 Various utility classes moved to flash-utils.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5889 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-21 20:56:35 +00:00
Tom Conkling eceae381af Move ObjectSet to narya from contrib
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5876 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-17 18:58:45 +00:00
Tom Conkling 7e5f28042f I thought I compiled this before committing but apparnetly not
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5875 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-17 18:44:34 +00:00
Tom Conkling d4c3964b22 ObjectMap
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5874 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-17 18:37:38 +00:00
Ray Greenwell 83ce3f004e Added ByteEnum interface to ActionScript, and ByteEnumUtil.
Use this if you want your enums to persist to a byte reliably.
Coming soonesque: narya streaming support for ByteEnum.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5859 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-11 00:08:41 +00:00
Ray Greenwell 6dbdf8d413 Killed fromOrdinal().
Not available in Java, and generally a bad idea.
Pretend ordinal() doesn't exist, unless you're writing EnumSet, or something.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5858 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-11 00:06:23 +00:00
Tom Conkling 10c1da22bd case-insensitive String comparison util
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5857 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-10 20:24:45 +00:00
Tom Conkling c260457c6e Whoops
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5850 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-04 23:06:07 +00:00
Tom Conkling 95a159016f Utility function for converting from ordinal to Enum
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5849 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-04 22:48:21 +00:00
Tom Conkling 3eb6ee2a4f Add comment for potentially non-obvious behavior
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5844 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-07-02 19:14:55 +00:00
Michael Bayne 6e9077780c Added/updated source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5829 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 21:09:34 +00:00
Ray Greenwell c3845a8b15 Fix simpleToString() per Tim's desire:
Cope with a bogus passed-in property name.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5820 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-09 18:16:16 +00:00
Ray Greenwell 8fd83e009a Some handy Predicates.
I did not add true() and false(), because WTF, YAGNI.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5810 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-30 00:31:08 +00:00
Ray Greenwell cb5398c9e8 Time is now specified in milliseconds, as is the norm for times.
Added a note.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5786 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-13 19:19:48 +00:00
Ray Greenwell ae7373cdbc Might as well stop the timer if we're cleared.
It's the closest thing to a shutdown.

I've got half a mind to write a LinkedHashMap, and then
an ExpiringHashMap on top of that, and then have
ExpiringHashSet just utilize that in its internals.
But, YAGNI, for now... for now...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5784 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-13 00:42:24 +00:00
Ray Greenwell 42f7ce23ac Allow the event handler to be specified in the constructor.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5783 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-13 00:27:02 +00:00
Ray Greenwell 305de912ff - forEach was returning the ExpiringElements, not the data.
- We shouldn't need to run checkTimer() on add(), generally.
  If adding the sole element, we can just schedule the expiration
  directly.
- Simplified and functionalized some other bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5778 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:09:42 +00:00
Ray Greenwell 34a99c26c0 If the last arg (in the Error position) is null, assume it's a null Error and
print "error=null" rather than "null=".


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5763 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-30 21:33:22 +00:00
Nathan Curtis d56ba51b49 I appear to have a hiesenbug, so this didn't actually end up testing this... but we should be
using the new varargs fanciness, including a stack trace from the error.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5762 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-30 18:44:11 +00:00
Ray Greenwell d65dc84d1b Fix typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5754 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 02:14:52 +00:00
Ray Greenwell e7dbda821d Removed pointless 8-char optimization.
Now it is more useful for this to hash identically as in Java.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5753 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 01:14:01 +00:00
Ray Greenwell 9a50e5f791 Added compare().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 00:07:25 +00:00
Tom Conkling eb4b8674af ArrayUtil.sortedInsert
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5746 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-26 20:34:29 +00:00
Ray Greenwell f03caf98fe Use Util.adapt(). Look at this functional programming masterpiece.
I'm not sure how much actual utility is here, and how much I just like the
gee-whiz factor.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5731 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 21:27:35 +00:00
Ray Greenwell 62fb546f27 Check this out. This little buddy rocks.
I sorta want to make a new FunctionUtil so that I can use it
with impunity everwhere without having to include the other crap in here.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5730 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 21:23:23 +00:00
Ray Greenwell bb87184632 Should resolve infinite recursion with SortedHashMap.
Tip from the pros: when you change a class, you might want to check
the subclasses for possible problems with that change.
:P


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 20:01:01 +00:00
Ray Greenwell 96bdaf9f1f Allow XML to be encoded.
Let's try it and see if it works. Let us know Nathan.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 01:06:00 +00:00
Ray Greenwell d354d951b8 Small tweaks. Apply directly to the nipples.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 23:00:36 +00:00
Ray Greenwell cbbd1f281d WeakValueHashMap. Apply directly to the ...
I hate your checkin comments, but I love your product!

The real reason I cleaned up HashMap: I override
forEach(), and now I don't need to do anything to make values() and keys()
work properly for weak values. Less code is better code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:55:40 +00:00
Ray Greenwell dbf20bdc28 WeakReference. Apply directly to the forehead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:53:35 +00:00
Ray Greenwell 3300421741 - Use [] instead of "new Array()"
- Implement keys() and values() using forEach().
  - Less code is better code.
  - But, it's less efficient:
    - values() now looks up simple-key values by hashing
    - values() now unwraps non-simple keys, even though unneeded
    - keys() looks up simple-key values, even though unneeded

Say it with me like a 14-year-old girl: whatEVER!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5724 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:51:12 +00:00
Ray Greenwell 0f73afc492 This class is remarkably pointless.
We could trash it and change our toStringBuf() methods
to just return a String. I guess. Then the caller would
have to assign the string somewhere. I guess this has some value.

So anyway: Occam's razor, and fixes a small bug: appending undefined
would print as "null" since it was being forced to an Object first.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-15 20:25:26 +00:00
Ray Greenwell 305c53f53a These are breaking asdoc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5721 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-15 18:52:15 +00:00
Ray Greenwell 021b5dab22 I swear I had made one of these way back when. Here it is again.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-14 01:40:14 +00:00
Ray Greenwell 52cedb5bdb Comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5692 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 21:00:38 +00:00
Ray Greenwell d46acc6bc4 Added createReverse(), and make comparators compatible with a flex Sort
object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5691 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 20:56:34 +00:00
Ray Greenwell 904be81707 Actually, let's only allow suppressing flushing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5690 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 00:30:27 +00:00
Ray Greenwell 195d764347 Allow flushing and notifying to be suppressed when a value is set.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5689 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 00:27:46 +00:00