Start game: single player
Start game: two player
Instructions
Instructions
Welcome to Bubble Bobble, where you are Bob the friendly dinosaur. Your goal is to capture all of the Windup Toys in a bubble without running into them or letting them catch you. Once a windup toy has been caught, pop its bubble to transform it into a goody, which you can collect for points! You must pop all bubbles and collect all fruit to move on to the next level.
Keys (1 Player)
A: move left / D: move right / W (or K): jump / Spacebar (or J): blow a bubble!
Keys (2nd Player)
J: move left / L: move right / Enter: jump / ': blow a bubble!


RACSignal Protocol Reference
| Conforms to | NSObject RACStream |
| Declared in | RACSignalProtocol.h |
Tasks
-
– subscribe:
required method -
– subscribeNext:
required method -
– subscribeNext:completed:
required method -
– subscribeNext:error:completed:
required method -
– subscribeError:
required method -
– subscribeCompleted:
required method -
– subscribeNext:error:
required method -
– subscribeError:completed:
required method -
– mapReplace:
required method -
– injectObjectWeakly:
required method -
– doNext:
required method -
– doError:
required method -
– doCompleted:
required method -
– throttle:
required method -
– delay:
required method -
– repeat
required method -
– finally:
required method -
– windowWithStart:close:
required method -
– buffer:
required method -
– bufferWithTime:
required method -
– takeLast:
required method -
+ combineLatest:
required method -
+ combineLatest:reduce:
required method -
+ merge:
required method -
– flatten:
required method -
– sequenceNext:
required method -
– concat
required method -
– aggregateWithStart:combine:
required method -
– aggregateWithStartFactory:combine:
required method -
– scanWithStart:combine:
required method -
– toProperty:onObject:
required method -
+ interval:
required method -
– takeUntil:
required method -
– takeUntilBlock:
required method -
– takeWhileBlock:
required method -
– asMaybes
required method -
– catch:
required method -
– catchTo:
required method -
– first
required method -
– firstOrDefault:
required method -
– firstOrDefault:success:error:
required method -
– skipUntilBlock:
required method -
– skipWhileBlock:
required method -
+ defer:
required method -
– distinctUntilChanged
required method -
– switch
required method -
– toArray
required method -
sequence
property required method -
– publish
required method -
– multicast:
required method -
– timeout:
required method -
– deliverOn:
required method -
– subscribeOn:
required method -
– let:
required method -
– groupBy:transform:
required method -
– groupBy:
required method -
– any
required method -
– any:
required method -
– all:
required method -
– retry:
required method -
– retry
required method -
– asCancelableToSubject:withBlock:
required method -
– asCancelableWithBlock:
required method -
– asCancelable
required method
Instance Methods
aggregateWithStart:combine:
- (id<RACSignal>)aggregateWithStart:(id)start combine:(id ( ^ ) ( id running , id next ))combineBlock
aggregateWithStartFactory:combine:
- (id<RACSignal>)aggregateWithStartFactory:(id ( ^ ) ( void ))startFactory combine:(id ( ^ ) ( id running , id next ))combineBlock
asCancelableToSubject:withBlock:
- (RACCancelableSignal *)asCancelableToSubject:(RACSubject *)subject withBlock:(void ( ^ ) ( void ))block
firstOrDefault:success:error:
- (id)firstOrDefault:(id)defaultValue success:(BOOL *)success error:(NSError **)error
groupBy:transform:
- (id<RACSignal>)groupBy:(id<NSCopying> ( ^ ) ( id object ))keyBlock transform:(id ( ^ ) ( id object ))transformBlock
scanWithStart:combine:
- (id<RACSignal>)scanWithStart:(id)start combine:(id ( ^ ) ( id running , id next ))combineBlock
subscribeError:completed:
- (RACDisposable *)subscribeError:(void ( ^ ) ( NSError *error ))errorBlock completed:(void ( ^ ) ( void ))completedBlock
subscribeNext:completed:
- (RACDisposable *)subscribeNext:(void ( ^ ) ( id x ))nextBlock completed:(void ( ^ ) ( void ))completedBlock
subscribeNext:error:
- (RACDisposable *)subscribeNext:(void ( ^ ) ( id x ))nextBlock error:(void ( ^ ) ( NSError *error ))errorBlock


Drivers facing nine-mile diversion for days due to road closure
Delays on the way for users of this route
by Ben WaldronDrivers are being warned about upcoming roadworks which will mean a diversion route of just over nine miles.
The closure will be in place on the road near the Staunton Harold Reservoir crossing , which sits just off the B587, Melbourne Road, near Ticknall and Melbourne.
Works will be carried out by utilities firm Severn Trent Water.
The firm will be carrying out the "refurbishment of equipment within the manhole chamber", according to roadworks collaboration website one.network.
A road closure will be in place for four days, in the new year from Monday, January 20, until Friday, January 24.
A recommended diversion route stretches 9.1 miles, according to Google Maps, and will take 14 minutes to drive.
The diversion route will take motorists from one side of the closure to the B587, where they should turn right.
Follow the road to Nottingham Road, just before the A42, and turn right again.
This will take you into the roundabout in Ashby, connecting the route to the A511.
The third exit of the roundabout should be taken onto the A511 and followed to the next roundabout, where the third exit should be taken again onto first Smisby Road, then the B5006 Derby Road .
Following this, before taking a return right onto Heath Lane, which travels through Heath End. Turn right again just after Dumelows Dairy Raw Milk Vending, before reaching the middle of Calke to return to the other side of the closure.


Post New Haunted House
Street address
City
State
Zipcode
Year Built
Owner
Status
Unknown
For Rent
For Sale
On Airbnb
Detail
POST


SETLIST Request
Orchid
- In Mist She Was Standing
- Under The Weeping Moon
- Forest of October
Morningrise
- Advent
- The Night and Silent Water
- Black Rose Immortal
My Arm, Your Hearse
- April Ethereal
- When
- The Amen Corner
Still Life
- The Moor
- Moonlapse Vertigo
- Serenity Painted Death
Blackwater Park
- Bleak
- Harvest
- The Funeral Potrait
Deliverence
- Wreath
- A Fair Judgement
- By the Pain I See in Others
Damnation
- In My Time of Need
- Closure
- To Rid The Disease
Ghost Reveries
- Baneath the Mire
- Atonement
- Harlequin Forest
Watershed
- The Lotus Eater
- Burden
- Hessian Peel
Heritage
- I Feel the Dark
- The Lines in My Hand
- Folklore
Pale Communion
- Eternal Rains Will Come
- Moon Above, Sun Below
- Voice of Treason
Sorceress
- The Wilde Flowers
- Will O the Wisp
- A Fleeting Glance
In Cauda Venenum
- Next of Kin
- Charlatan
- All Things Will Pass


Hi guys,
I have been running an EmonTX Arduino shield for the last week or so, with 4 CT sensors. I have played around with the calibration values to get it reading something relatively accurate - I did this by monitoring my inverter output and checking it after a days generation against the total being reported by the inverter itself.
Using these values I was able to calculate a scale factor and have applied that to all feeds.
It seems to be pretty accurated, my 3kW hot water immersion heater is reporting around 2880W on CT3.
However I noticed my underfloor heatpump, which was being monitored by CT4, was only reporting about 1500W. The reason I queried this was the house usage jumps up by about 2500W when the heatpump turns on.
I swapped the hot water and underfloor CT clamps and lo-and-behold, the CT3 feed is reporting around 2500W.
I have checked the shield and in particular my soldering but everything looks ok. I put my multimeter across the resistors on each of the CT circuits and they all look fine.
I think I have ruled out a faulty CT clamp, since the same clamp is reporting a different value (i.e. 2500W) when I plug it into CT3 on the shield.
Is there anything else I can do to trouble shoot this? It is not the end of the world, I can live with only 3 CTs, but it would be nice to have all 4 running.
BTW - I have setup the phase angle to 0.2, 0.4, 0.6 and 0.8 for CTs 1-4 respectively, and I am running Robins continuous monitoring sketch (with a bit of my own magic to send MQTT publishes rather than use RF),
Many thanks,
Ben
Re: Faulty CT sensor or EmonTX shield
If I haven't got mixed up, it is CT4 input that you suspect is under-reading - giving 1500 W when you expect 2500 W - but the CT itself gives the expected value in one of the other inputs? And you've edited the sketch to use the same Powercal on all 4 inputs? (By default, CT4 on the emonTx V3 is high sensitivity - on the shield it is the same as the others.)
Have you checked the really obvious - the sockets? These have been known to give the impression that the plug is fully inserted when it's not. You've checked the 33 Ohm burden resistor is correct? What dc voltage do you measure on that - it should be half supply, about 2.5 V. To check that, you could download Robin's diagnostic sketch - MinMaxAndRangeChecker is probably the one you want - and check that CT4 input is in the middle and the right sort of shape. It you can put the CT on the same cable as another good one, that will make it very easy to compare.
Re: Faulty CT sensor or EmonTX shield
Thanks Robert - you are correct - CT4 is giving the under-reading - apologies for my rather convoluted explanation above! I will double check the sockets although I did jiggle them around and give them a good push as it was my first theory for the discrepency. I checked the burden resistor by measuring the resistance with no CT clamp connected - and it was reading a stable 33 ohms. I will check the voltage across it as you suggest.
I have played around with Robins diagnostic sketch when I first started but I think I was only looking at CT1. I will try this out on CT4 this evening once the heat pump is back up and running (I only run it in the evenings).
I will report back with any findings - thanks for your suggestions.
Ben
Re: Faulty CT sensor or EmonTX shield
Ok - did some measurements across the burden resistor. The voltage at the resistor on the CT4 circuit (R28) is 4.8VDC, but for the other 3 CT circuits it is 2.4VDC. Clearly that is the problem.
I tried to measure the resistance of R25 and R27 (the voltage dividers) but was getting zero for R25 (I presume because of C4 across that resistor) and about 104KOhms across R27. These measurements were the same for the other CT circuits so I couldn't see any difference there.
Sorry but electronics is not my speciality. The fact the voltage divider is not doing its job is obviously the problem, but I am not sure how to diagnose what the cause any further.
Is it possible there is a fault on my shield PCB? Or a faulty component, i.e. R27 or C4?
Re: Faulty CT sensor or EmonTX shield
"Is it possible there is a fault on my shield PCB? Or a faulty component, i.e. R27 or C4?"
Yes, two of those are possible, I think we can discount C4, but add in R25. You can also add in a fault on the Arduino board.
(Do you have the SMT version or the wire-ended components - if the latter, you're using the wrong circuit diagram, the arrangement is the same, but the relevant components are R15, R17 and C1.)
Two things you write are inconsistent: you measured zero across R25 (R15) and the voltage at the middle of the divider is 4.8 V. Do you mean zero or infinity? I think we can discount the zero ohms across R25, because if so, the midpoint voltage would be zero too.
The 4.8 V means either the midpoint/ADC input is being pulled up to 5 V, or it's not being pulled down to half way. That could mean either:
1. R25 is open circuit - or you haven't soldered it in properly, or there's a break in the track between the "bottom" end and the common GND connection, or
2. R27 (R17) is short circuit, or the wrong (very low) value (is the colour code correct - the same as R25, yellow, violet, yellow), or there's a whisker of solder or copper linking the PCB track that goes to the midpoint of the divider to the 5 V supply, or there's a whisker of solder or copper linking the PCB track to pin 4 on the ADC header (i.e. the other side of the 33 Ohm burden resistor) to the 5 V supply. The bridge/short could be on the Arduino board.
If you have a spare 470 kΩ resistor, just holding it or tacking it across from any of the CT connections to 0 V (GND) will prove whether it's (1) or (2). If the voltage drops to 2.5 V, it's (1). (Actually, if you have any resistor between about 1 kΩ and 1 MΩ, and it pulls the voltage down below 4 V, then it proves (1) is the problem.) If you measure anything less than 100 kΩ between the 5 V and any of the CT connections, it's (2).
So if your 104 kΩ is accurate, it's more likely (but not proven) that the problem is (2).
From here on in, it's a Mk.II eyeball job to spot the problem. [ The Mk.II eyeball is better than the Mk.I - it knows what to look for!]
Re: Faulty CT sensor or EmonTX shield
Thanks Robert - this is helping immensely. I have the SMT version so the only soldering I did was for the CT sockets, 9VAC socket and the headers. So I haven't had a soldering iron anywhere near those resistors.
I was surprised to measure 0 ohms across R25 as well but I presumed that was due to C4 providing a 'free wheeling' path for my multimeter? Is that not a likely cause? The same resistor in the other CT circuits gave the same results.
Likewise measuring R27 and the equivalent resistor in the other CT circuits all gave the same reading of just over 100KOhms. Again, I presume this is due to other parts of the circuit effectively dropping the resistance I am measuring. But I am certainly no expert here!
I have tried to read the values of the resistors but the writing is so tiny and I don't have a magnifying glass! They are the SMT versions so are pretty small.
I will try a different Arduino board this evening and see if that gives the same result - so we can eliminate that for starters (sorry I am at work now). I have had a good look around the PCB and can't see any bits of solder that are not where they should be, as I mentioned it came fully assembled, aside from the sockets.
I will try the extra resistor across the CT socket to GND and see what the voltage is. I will report my findings this evening hopefully.
Thanks again for your help.
Re: Faulty CT sensor or EmonTX shield
The 470 kΩ resistors should be marked "474" - 4 7 and four 0s. You're reading zero across the R25 / C4 combination because you didn't wait long enough! Your multimeter is a voltage source, as it feeds current into the capacitor it will see a high current, which it interprets as a low resistance; but as the charge on the capacitor builds up, the current will decrease and the 'resistance' will increase until current stops flowing into the capacitor and you measure just the resistor in parallel. You need to measure infinity there - or many MΩ, not zero, for an open-circuit R25 to be the problem. So depending on the test current that your meter uses, you might have to wait a few minutes for the 'resistance' to stabilise.
If that is inconclusive, you could try Robin's MinAndMaxValues sketch. Load the sketch (change the input to the correct pin!) and watch the values immediately after you power up. If it takes a while for the pin to go from 0 to 1024 (or so) I favour an open-circuit R25. I expect it to start rising at about 200 counts per second, and slow down, taking a good 20 s to get to about 900 counts.) If it goes instantaneously - which I doubt it will as you read 100 kΩ across R27 - then it's a short to the 5 V rail.
One more test you could try - with the shield unplugged, measure the voltage on the input pin, from GND to the pin and from the pin to 5 V. I'd expect your multimeter to pull the voltage towards whichever rail you are measuring to, so in both cases you measure a small voltage and the sum will be nowhere near 5 V. If it is close to 5 V, that would make me suspect that the fault is in the Arduino. As a further check, run Robin's MinAndMaxValues again as you do it and you should see the numbers go close to zero when you measure pin to GND and close to 1024 when you measure pin to 5 V. (Or instead of your meter, you can use a spare resistor > 1 kΩ). If it does that, it's not the Arduino board. If it stays the same at or near 1024, it IS the Arduino.
Re: Faulty CT sensor or EmonTX shield
Ok - some more results for us to decipher...
First thing - I tried another Arduino, both with an ethernet shield and without. The readings from the A3 and A4 circuits were the same when using the same CT sensor. I.e. I plugged in the underfloor heatpump CT sensor (which is currently running) into both CT3 and CT4 and the readings were the same for both tests. So I am hopeful this eliminates the EmonTX shield since it seems the circuitry is fine.
I did find the readings in these two tests were quite different however. For example the underfloor CT read around 3100 on the Uno with no shield, and 2600 once I added the ethernet shield. 2600 is around the same as the original Arduino was reading. Note the original Arduino is an Uno clone with built in ethernet - so no extra shield, but all the ethernet circuitry on the board, including POE.
So finally, I tried your suggestion of running Robins MinMax sketch with the EmonTX shield disconnected (on the original Arduino) and using my voltmeter to measure from the input pin (A4) to 5V and GND. In both cases the sketch just spat out 1023 constant. I tried it on A3 and the value oscillated between 0 and 1023 every few seconds, for both cases. Not sure if my multimeter is varying the signal as it tries to get a reading? It is a half decent Fluke 75 series multimeter.
Unless you have any further suggestions or ideas I think I will shelve this in the 'too hard' basket and just use the 3 remaining CTs. The extra was just for monitoring purposes, was interested to see how much my HWC and underfloor heatpump were using. So not too big of a deal.
I would say this however, to anyone reading in the future, that it seems an ethernet shield, or built-in ethernet circuitry on an Uno clone, seems to affect the EmonTX shield!
Re: Faulty CT sensor or EmonTX shield
Interesting topic which seems related...http://forum.arduino.cc/index.php/topic,20618.0.html.
My clone + ethernet built-in doesn't seem to suffer from the same variances as an outright ethernet shield, but it is causing these issues on A4.
The plot thickens...
Re: Faulty CT sensor or EmonTX shield
I suspect the meter may well have been injecting a varying voltage as it tried to autorange, but the main thing about doing that was the input was not tied to 5 V on the A3 input, but it seemed to be on the A4 input. It's looking to me as if the A4 input isn't exactly the same as the others - at this point you need to dig around in the circuit diagrams and layouts for the particular Arduino and Ethernet shield that you're using. The Arduino forum indicates that others believe this to be the case, and if it is, it seems to be something that Glyn & Trystan were unaware of when they developed the Shield.
Re: Faulty CT sensor or EmonTX shield
Solved! I posted a question on the forums of the guys that manufacture my Arduino clone (www.freetronics.com) who happen to be in Australia.
http://forum.freetronics.com/viewtopic.php?f=4&t=6024
Turns out they have a MAC address chip on the clone in order to give each board a unique MAC address. That chip uses the I2C bus and as a result they have a couple of pullup resistors built into the board for A4 and A5.
Thankfully, they also have a nice little solder jumper on the bottom of the board to allow easy disabling of this part of the circuit. I have just cut the solder jumper and restarted my EmonTx shield and now the voltage divider for the CT4 circuits is working as expected.
Happy days! The HWC isn't running currently but once it fires up tonight I will check to make sure I am getting sensible readings, but I am pretty confident now those pullup resistors are out of the equation.
Just want to say thanks very much to you Robert, for your patience and thoughtful insight. There is no way I would have gotten to the bottom of this without your help!!
Re: Faulty CT sensor or EmonTX shield
I've put a note on the Shield Wiki about that - what are the odds that you're not the only one who will get caught by that? (I've also emailed G&T so that if they wish, they can put a note on the Shop website too.)


Class ClientStreamReceiverMessage
- java.lang.Object
-
- org.apache.qpid.protonj2.client.impl.ClientStreamReceiverMessage
-
- All Implemented Interfaces:
AdvancedMessage<java.io.InputStream>
,Message<java.io.InputStream>
,StreamReceiverMessage
public final class ClientStreamReceiverMessage extends java.lang.Object implements StreamReceiverMessage
Streamed message delivery context used to request reads of possible split framedTransfer
payload's that comprise a single large overall message.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
aborted()
Check if theStreamDelivery
that was assigned to thisStreamReceiverMessage
has been marked as aborted by the remote.long
absoluteExpiryTime()
StreamReceiverMessage
absoluteExpiryTime(long expiryTime)
Sets the absolute expiration time value to assign to thisMessage
.StreamReceiverMessage
addBodySection(Section<?> bodySection)
Adds the givenSection
to the internal collection of sections that will be sent to the remote peer when this message is encoded.java.lang.Object
annotation(java.lang.String key)
Returns the requested message annotation value from thisMessage
if it exists or returns null otherwise.StreamReceiverMessage
annotation(java.lang.String key, java.lang.Object value)
Sets the given message annotation value at the given key, replacing any previous value that was assigned to thisMessage
.MessageAnnotations
annotations()
Return the currentMessageAnnotations
assigned to this message, if none was assigned yet then this method returnsnull
.StreamReceiverMessage
annotations(MessageAnnotations messageAnnotations)
Assign or replace theMessageAnnotations
instance associated with this message.ApplicationProperties
applicationProperties()
Return the currentApplicationProperties
assigned to this message, if none was assigned yet then this method returnsnull
.StreamReceiverMessage
applicationProperties(ApplicationProperties applicationProperties)
Assign or replace theApplicationProperties
instance associated with this message.java.io.InputStream
body()
Returns the body value that is conveyed in this message or null if no body was set locally or sent from the remote if this is an incoming message.StreamReceiverMessage
body(java.io.InputStream value)
Sets the body value that is to be conveyed to the remote when this message is sent.java.util.Collection<Section<?>>
bodySections()
Create and return an unmodifiableCollection
that contains theSection
instances currently assigned to this message.StreamReceiverMessage
bodySections(java.util.Collection<Section<?>> sections)
Sets the bodySection
instances to use when encoding this message.StreamReceiverMessage
clearBodySections()
Clears all current bodySection
elements from theAdvancedMessage
.boolean
completed()
Check if theStreamDelivery
that was assigned to thisStreamReceiverMessage
has been marked as complete by the remote.java.lang.String
contentEncoding()
Message<?>
contentEncoding(java.lang.String contentEncoding)
Sets the contentEncoding value to assign to thisMessage
.java.lang.String
contentType()
StreamReceiverMessage
contentType(java.lang.String contentType)
Sets the contentType value to assign to thisMessage
.java.lang.Object
correlationId()
StreamReceiverMessage
correlationId(java.lang.Object correlationId)
Sets the correlationId value to assign to thisMessage
.long
creationTime()
StreamReceiverMessage
creationTime(long createTime)
Sets the creation time value to assign to thisMessage
.ClientStreamDelivery
delivery()
long
deliveryCount()
StreamReceiverMessage
deliveryCount(long deliveryCount)
Sets the value to assign to the delivery count field of thisMessage
.boolean
durable()
For an message being sent this method returns the current state of the durable flag on the message.StreamReceiverMessage
durable(boolean durable)
Controls if the message is marked as durable when sent.ProtonBuffer
encode(java.util.Map<java.lang.String,java.lang.Object> deliveryAnnotations)
Encodes theAdvancedMessage
for transmission by the client.boolean
firstAcquirer()
StreamReceiverMessage
firstAcquirer(boolean firstAcquirer)
Sets the value to assign to the first acquirer field of thisMessage
.Footer
footer()
Return the currentFooter
assigned to this message, if none was assigned yet then this method returnsnull
.java.lang.Object
footer(java.lang.String key)
Returns the requested footer value from thisMessage
if it exists or returnsnull
otherwise.StreamReceiverMessage
footer(java.lang.String key, java.lang.Object value)
Sets the given footer value at the given key, replacing any previous value that was assigned to thisMessage
.StreamReceiverMessage
footer(Footer footer)
Assign or replace theFooter
instance associated with this message.StreamReceiverMessage
forEachAnnotation(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action)
Invokes the givenBiConsumer
on each message annotation entry carried in thisMessage
.StreamReceiverMessage
forEachBodySection(java.util.function.Consumer<Section<?>> consumer)
Performs the given action for each bodySection
of theAdvancedMessage
until all sections have been presented to the givenConsumer
or the consumer throws an exception.StreamReceiverMessage
forEachFooter(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action)
Invokes the givenBiConsumer
on each footer entry carried in thisMessage
.StreamReceiverMessage
forEachProperty(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action)
Invokes the givenBiConsumer
on each application property entry carried in thisMessage
.java.lang.String
groupId()
StreamReceiverMessage
groupId(java.lang.String groupId)
Sets the groupId value to assign to thisMessage
.int
groupSequence()
StreamReceiverMessage
groupSequence(int groupSequence)
Sets the group sequence value to assign to thisMessage
.boolean
hasAnnotation(java.lang.String key)
Query theMessage
to determine if it carries the given message annotation key.boolean
hasAnnotations()
Query theMessage
to determine if it carries any message annotations.boolean
hasFooter(java.lang.String key)
Query theMessage
to determine if it carries the given footer key.boolean
hasFooters()
Query theMessage
to determine if it carries any footers.boolean
hasProperties()
Query theMessage
to determine if it carries any application properties.boolean
hasProperty(java.lang.String key)
Query theMessage
to determine if it carries the given application property key.Header
header()
Return the currentHeader
assigned to this message, if none was assigned yet then this method returnsnull
.StreamReceiverMessage
header(Header header)
Assign or replace theHeader
instance associated with this message.int
messageFormat()
StreamReceiverMessage
messageFormat(int messageFormat)
Sets the message format to use when the message is sent.java.lang.Object
messageId()
StreamReceiverMessage
messageId(java.lang.Object messageId)
Sets the message Id value to assign to thisMessage
.byte
priority()
StreamReceiverMessage
priority(byte priority)
Sets the relative message priority.Properties
properties()
Return the currentProperties
assigned to this message, if none was assigned yet then this method returnsnull
.StreamReceiverMessage
properties(Properties properties)
Assign or replace theProperties
instance associated with this message.java.lang.Object
property(java.lang.String key)
Returns the requested application property value from thisMessage
if it exists or returns null otherwise.StreamReceiverMessage
property(java.lang.String key, java.lang.Object value)
Sets the given application property value at the given key, replacing any previous value that was assigned to thisMessage
.ClientStreamReceiver
receiver()
java.lang.Object
removeAnnotation(java.lang.String key)
Removes the given message annotation from the values carried in the message currently, if none was present than this method returnsnull
.java.lang.Object
removeFooter(java.lang.String key)
Removes the given footer from the values carried in the message currently, if none was present than this method returnsnull
.java.lang.Object
removeProperty(java.lang.String key)
Removes the given application property from the values carried in the message currently, if none was present than this method returnsnull
.java.lang.String
replyTo()
StreamReceiverMessage
replyTo(java.lang.String replyTo)
Sets the replyTo value to assign to thisMessage
.java.lang.String
replyToGroupId()
StreamReceiverMessage
replyToGroupId(java.lang.String replyToGroupId)
Sets the replyTo group Id value to assign to thisMessage
.java.lang.String
subject()
StreamReceiverMessage
subject(java.lang.String subject)
Sets the subject value to assign to thisMessage
.long
timeToLive()
StreamReceiverMessage
timeToLive(long timeToLive)
Sets the message time to live value.java.lang.String
to()
StreamReceiverMessage
to(java.lang.String to)
Sets the 'to' value to assign to thisMessage
.byte[]
userId()
StreamReceiverMessage
userId(byte[] userId)
Sets the user Id value to assign to thisMessage
.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.protonj2.client.Message
toAdvancedMessage
-
-
-
-
Method Detail
-
receiver
public ClientStreamReceiver receiver()
- Specified by:
receiver
in interfaceStreamReceiverMessage
- Returns:
- the
StreamReceiver
that this context was create under.
-
delivery
public ClientStreamDelivery delivery()
- Specified by:
delivery
in interfaceStreamReceiverMessage
- Returns:
- the
StreamDelivery
that is associated with the life-cycle of thisStreamReceiverMessage
-
aborted
public boolean aborted()
Description copied from interface:StreamReceiverMessage
Check if theStreamDelivery
that was assigned to thisStreamReceiverMessage
has been marked as aborted by the remote.- Specified by:
aborted
in interfaceStreamReceiverMessage
- Returns:
- true if this context has been marked as aborted previously.
-
completed
public boolean completed()
Description copied from interface:StreamReceiverMessage
Check if theStreamDelivery
that was assigned to thisStreamReceiverMessage
has been marked as complete by the remote.- Specified by:
completed
in interfaceStreamReceiverMessage
- Returns:
- true if this context has been marked as being the complete.
-
messageFormat
public int messageFormat() throws ClientException
- Specified by:
messageFormat
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned message format for this message.
- Throws:
ClientException
- if an error occurs while retrieving the message data.
-
messageFormat
public StreamReceiverMessage messageFormat(int messageFormat) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Sets the message format to use when the message is sent. The exact structure of a message, together with its encoding, is defined by the message format (default is the AMQP defined message format zero.This field MUST be specified for the first transfer of a multi-transfer message, if it is not set at the time of send of the first transfer the sender uses the AMQP default value of zero for this field.
The upper three octets of a message format code identify a particular message format. The lowest octet indicates the version of said message format. Any given version of a format is forwards compatible with all higher versions.
3 octets 1 octet +----------------+---------+ | message format | version | +----------------+---------+ | | msb lsb
- Specified by:
messageFormat
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
messageFormat
- The message format to encode into the transfer frame that carries the message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
durable
public boolean durable() throws ClientException
Description copied from interface:Message
For an message being sent this method returns the current state of the durable flag on the message. For a received message this method returns the durable flag value at the time of sending (or false if not set) unless the value is updated after being received by the receiver.- Specified by:
durable
in interfaceMessage<java.io.InputStream>
- Returns:
- true if the Message is marked as being durable
- Throws:
ClientException
- if an error occurs while reading the given value.
-
durable
public StreamReceiverMessage durable(boolean durable) throws ClientUnsupportedOperationException
Description copied from interface:Message
Controls if the message is marked as durable when sent.- Specified by:
durable
in interfaceMessage<java.io.InputStream>
- Parameters:
durable
- value assigned to the durable flag for this message.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
priority
public byte priority() throws ClientException
- Specified by:
priority
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently configured priority or the default if none set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
priority
public StreamReceiverMessage priority(byte priority) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the relative message priority. Higher numbers indicate higher priority messages. Messages with higher priorities MAY be delivered before those with lower priorities. For a received message this overwrites any value that was set by the remote sender.- Specified by:
priority
in interfaceMessage<java.io.InputStream>
- Parameters:
priority
- The priority value to assign this message.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
timeToLive
public long timeToLive() throws ClientException
- Specified by:
timeToLive
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently set Time To Live duration (milliseconds).
- Throws:
ClientException
- if an error occurs while reading the given value.
-
timeToLive
public StreamReceiverMessage timeToLive(long timeToLive) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the message time to live value.The time to live duration in milliseconds for which the message is to be considered "live". If this is set then a message expiration time will be computed based on the time of arrival at an intermediary.  When a message is transmitted by an intermediary that was received with a time to live, the transmitted message's header SHOULD contain a time to live that is computed as the difference between the current time and the formerly computed message expiration time, i.e., the reduced time to live, so that messages will eventually die if they end up in a delivery loop.
- Specified by:
timeToLive
in interfaceMessage<java.io.InputStream>
- Parameters:
timeToLive
- The time span in milliseconds that this message should remain live before being discarded.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
firstAcquirer
public boolean firstAcquirer() throws ClientException
- Specified by:
firstAcquirer
in interfaceMessage<java.io.InputStream>
- Returns:
- if this message has been acquired by another link previously
- Throws:
ClientException
- if an error occurs while reading the given value.
-
firstAcquirer
public StreamReceiverMessage firstAcquirer(boolean firstAcquirer) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the value to assign to the first acquirer field of thisMessage
.If this value is true, then this message has not been acquired by any other link. If this value is false, then this message MAY have previously been acquired by another link or links.
- Specified by:
firstAcquirer
in interfaceMessage<java.io.InputStream>
- Parameters:
firstAcquirer
- The boolean value to assign to the first acquirer field of the message.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
deliveryCount
public long deliveryCount() throws ClientException
- Specified by:
deliveryCount
in interfaceMessage<java.io.InputStream>
- Returns:
- the number of failed delivery attempts that this message has been part of.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
deliveryCount
public StreamReceiverMessage deliveryCount(long deliveryCount) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the value to assign to the delivery count field of thisMessage
.Delivery count is the number of unsuccessful previous attempts to deliver this message. If this value is non-zero it can be taken as an indication that the delivery might be a duplicate. On first delivery, the value is zero. It is incremented upon an outcome being settled at the sender, according to rules defined for each outcome.
- Specified by:
deliveryCount
in interfaceMessage<java.io.InputStream>
- Parameters:
deliveryCount
- The new delivery count value to assign to this message.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
header
public Header header() throws ClientException
Description copied from interface:AdvancedMessage
Return the currentHeader
assigned to this message, if none was assigned yet then this method returnsnull
.- Specified by:
header
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned
Header
for this message. - Throws:
ClientException
- if an error occurs while retrieving the message data.
-
header
public StreamReceiverMessage header(Header header) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Assign or replace theHeader
instance associated with this message.- Specified by:
header
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
header
- TheHeader
value to assign to this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
messageId
public java.lang.Object messageId() throws ClientException
- Specified by:
messageId
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently set Message ID or null if none set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
messageId
public StreamReceiverMessage messageId(java.lang.Object messageId) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the message Id value to assign to thisMessage
.The message Id, if set, uniquely identifies a message within the message system. The message producer is usually responsible for setting the message-id in such a way that it is assured to be globally unique. A remote peer MAY discard a message as a duplicate if the value of the message-id matches that of a previously received message sent to the same node.
- Specified by:
messageId
in interfaceMessage<java.io.InputStream>
- Parameters:
messageId
- The message Id value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
userId
public byte[] userId() throws ClientException
- Specified by:
userId
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently set User ID or null if none set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
userId
public StreamReceiverMessage userId(byte[] userId) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the user Id value to assign to thisMessage
.The identity of the user responsible for producing the message. The client sets this value, and it MAY be authenticated by intermediaries.
- Specified by:
userId
in interfaceMessage<java.io.InputStream>
- Parameters:
userId
- The user Id value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
to
public java.lang.String to() throws ClientException
- Specified by:
to
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently set 'To' address which indicates the intended destination of the message.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
to
public StreamReceiverMessage to(java.lang.String to) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the 'to' value to assign to thisMessage
.The to field identifies the node that is the intended destination of the message. On any given transfer this might not be the node at the receiving end of the link.
- Specified by:
to
in interfaceMessage<java.io.InputStream>
- Parameters:
to
- The 'to' node value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
subject
public java.lang.String subject() throws ClientException
- Specified by:
subject
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently set subject metadata for this message or null if none set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
subject
public StreamReceiverMessage subject(java.lang.String subject) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the subject value to assign to thisMessage
.A common field for summary information about the message content and purpose.
- Specified by:
subject
in interfaceMessage<java.io.InputStream>
- Parameters:
subject
- The subject node value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
replyTo
public java.lang.String replyTo() throws ClientException
- Specified by:
replyTo
in interfaceMessage<java.io.InputStream>
- Returns:
- the configured address of the node where replies to this message should be sent, or null if not set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
replyTo
public StreamReceiverMessage replyTo(java.lang.String replyTo) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the replyTo value to assign to thisMessage
.The address of the node to send replies to.
- Specified by:
replyTo
in interfaceMessage<java.io.InputStream>
- Parameters:
replyTo
- The replyTo node value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
correlationId
public java.lang.Object correlationId() throws ClientException
- Specified by:
correlationId
in interfaceMessage<java.io.InputStream>
- Returns:
- the currently assigned correlation ID or null if none set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
correlationId
public StreamReceiverMessage correlationId(java.lang.Object correlationId) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the correlationId value to assign to thisMessage
.This is a client-specific id that can be used to mark or identify messages between clients.
- Specified by:
correlationId
in interfaceMessage<java.io.InputStream>
- Parameters:
correlationId
- The correlationId value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
contentType
public java.lang.String contentType() throws ClientException
- Specified by:
contentType
in interfaceMessage<java.io.InputStream>
- Returns:
- the assigned content type value for the message body section or null if not set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
contentType
public StreamReceiverMessage contentType(java.lang.String contentType) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the contentType value to assign to thisMessage
.The RFC-2046 MIME type for the message's application-data section (body). As per RFC-2046 this can contain a charset parameter defining the character encoding used: e.g., 'text/plain; charset="utf-8"'.
For clarity, as per section 7.2.1 of RFC-2616, where the content type is unknown the content-type SHOULD NOT be set. This allows the recipient the opportunity to determine the actual type. Where the section is known to be truly opaque binary data, the content-type SHOULD be set to application/octet-stream.
When using an application-data section with a section code other than data, content-type SHOULD NOT be set.
- Specified by:
contentType
in interfaceMessage<java.io.InputStream>
- Parameters:
contentType
- The contentType value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
contentEncoding
public java.lang.String contentEncoding() throws ClientException
- Specified by:
contentEncoding
in interfaceMessage<java.io.InputStream>
- Returns:
- the assigned content encoding value for the message body section or null if not set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
contentEncoding
public Message<?> contentEncoding(java.lang.String contentEncoding) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the contentEncoding value to assign to thisMessage
.The content-encoding property is used as a modifier to the content-type. When present, its value indicates what additional content encodings have been applied to the application-data, and thus what decoding mechanisms need to be applied in order to obtain the media-type referenced by the content-type header field.
Content-encoding is primarily used to allow a document to be compressed without losing the identity of its underlying content type.
Content-encodings are to be interpreted as per section 3.5 of RFC 2616 [RFC2616]. Valid content-encodings are registered at IANA [IANAHTTPPARAMS].
The content-encoding MUST NOT be set when the application-data section is other than data. The binary representation of all other application-data section types is defined completely in terms of the AMQP type system.
Implementations MUST NOT use the identity encoding. Instead, implementations SHOULD NOT set this property. Implementations SHOULD NOT use the compress encoding, except as to remain compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.
Implementations SHOULD NOT specify multiple content-encoding values except as to be compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.
- Specified by:
contentEncoding
in interfaceMessage<java.io.InputStream>
- Parameters:
contentEncoding
- The contentEncoding value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
absoluteExpiryTime
public long absoluteExpiryTime() throws ClientException
- Specified by:
absoluteExpiryTime
in interfaceMessage<java.io.InputStream>
- Returns:
- the configured absolute time of expiration for this message.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
absoluteExpiryTime
public StreamReceiverMessage absoluteExpiryTime(long expiryTime) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the absolute expiration time value to assign to thisMessage
.An absolute time when this message is considered to be expired.
- Specified by:
absoluteExpiryTime
in interfaceMessage<java.io.InputStream>
- Parameters:
expiryTime
- The absolute expiration time value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
creationTime
public long creationTime() throws ClientException
- Specified by:
creationTime
in interfaceMessage<java.io.InputStream>
- Returns:
- the absolute time of creation for this message.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
creationTime
public StreamReceiverMessage creationTime(long createTime) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the creation time value to assign to thisMessage
.An absolute time when this message was created.
- Specified by:
creationTime
in interfaceMessage<java.io.InputStream>
- Parameters:
createTime
- The creation time value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
groupId
public java.lang.String groupId() throws ClientException
- Specified by:
groupId
in interfaceMessage<java.io.InputStream>
- Returns:
- the assigned group ID for this message or null if not set.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
groupId
public StreamReceiverMessage groupId(java.lang.String groupId) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the groupId value to assign to thisMessage
.Identifies the group the message belongs to.
- Specified by:
groupId
in interfaceMessage<java.io.InputStream>
- Parameters:
groupId
- The groupId value to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
groupSequence
public int groupSequence() throws ClientException
- Specified by:
groupSequence
in interfaceMessage<java.io.InputStream>
- Returns:
- the assigned group sequence for this message.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
groupSequence
public StreamReceiverMessage groupSequence(int groupSequence) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the group sequence value to assign to thisMessage
.The relative position of this message within its group.
- Specified by:
groupSequence
in interfaceMessage<java.io.InputStream>
- Parameters:
groupSequence
- The group sequence to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
replyToGroupId
public java.lang.String replyToGroupId() throws ClientException
- Specified by:
replyToGroupId
in interfaceMessage<java.io.InputStream>
- Returns:
- the client-specific id used so that client can send replies to this message to a specific group.
- Throws:
ClientException
- if an error occurs while reading the given value.
-
replyToGroupId
public StreamReceiverMessage replyToGroupId(java.lang.String replyToGroupId) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the replyTo group Id value to assign to thisMessage
.This is a client-specific id that is used so that client can send replies to this message to a specific group.
- Specified by:
replyToGroupId
in interfaceMessage<java.io.InputStream>
- Parameters:
replyToGroupId
- The replyTo group Id to assign to thisMessage
instance.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
properties
public Properties properties() throws ClientException
Description copied from interface:AdvancedMessage
Return the currentProperties
assigned to this message, if none was assigned yet then this method returnsnull
.- Specified by:
properties
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned
Properties
for this message. - Throws:
ClientException
- if an error occurs while retrieving the message data.
-
properties
public StreamReceiverMessage properties(Properties properties) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Assign or replace theProperties
instance associated with this message.- Specified by:
properties
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
properties
- TheProperties
value to assign to this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
annotation
public java.lang.Object annotation(java.lang.String key) throws ClientException
Description copied from interface:Message
Returns the requested message annotation value from thisMessage
if it exists or returns null otherwise.- Specified by:
annotation
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the message annotation to query for.- Returns:
- the corresponding message annotation value of null if none was carried in this
Message
. - Throws:
ClientException
- if an error occurs accessing the message annotations in thisMessage
.
-
hasAnnotation
public boolean hasAnnotation(java.lang.String key) throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries the given message annotation key.- Specified by:
hasAnnotation
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the message annotation to query for.- Returns:
true
if the Message carries the given message annotation.- Throws:
ClientException
- if an error occurs accessing the message annotations in thisMessage
.
-
hasAnnotations
public boolean hasAnnotations() throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries any message annotations.- Specified by:
hasAnnotations
in interfaceMessage<java.io.InputStream>
- Returns:
true
if the Message carries any message annotations.- Throws:
ClientException
- if an error occurs accessing the message annotations in thisMessage
.
-
removeAnnotation
public java.lang.Object removeAnnotation(java.lang.String key) throws ClientUnsupportedOperationException
Description copied from interface:Message
Removes the given message annotation from the values carried in the message currently, if none was present than this method returnsnull
.- Specified by:
removeAnnotation
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the message annotation to query for removal.- Returns:
- the message annotation value that was previously assigned to that key.
- Throws:
ClientUnsupportedOperationException
-
forEachAnnotation
public StreamReceiverMessage forEachAnnotation(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action) throws ClientException
Description copied from interface:Message
Invokes the givenBiConsumer
on each message annotation entry carried in thisMessage
.- Specified by:
forEachAnnotation
in interfaceMessage<java.io.InputStream>
- Parameters:
action
- The action that will be invoked on each message annotation entry.- Returns:
- this
Message
instance. - Throws:
ClientException
- if an error occurs accessing the message annotations in thisMessage
.
-
annotation
public StreamReceiverMessage annotation(java.lang.String key, java.lang.Object value) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the given message annotation value at the given key, replacing any previous value that was assigned to thisMessage
.- Specified by:
annotation
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The message annotation key where the value is to be assigned.value
- The value to assign to the given message annotation key.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
annotations
public MessageAnnotations annotations() throws ClientException
Description copied from interface:AdvancedMessage
Return the currentMessageAnnotations
assigned to this message, if none was assigned yet then this method returnsnull
.- Specified by:
annotations
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned
MessageAnnotations
for this message. - Throws:
ClientException
- if an error occurs while retrieving the message data.
-
annotations
public StreamReceiverMessage annotations(MessageAnnotations messageAnnotations) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Assign or replace theMessageAnnotations
instance associated with this message.- Specified by:
annotations
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
messageAnnotations
- TheMessageAnnotations
value to assign to this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
property
public java.lang.Object property(java.lang.String key) throws ClientException
Description copied from interface:Message
Returns the requested application property value from thisMessage
if it exists or returns null otherwise.- Specified by:
property
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the application property to query for.- Returns:
- the corresponding application property value of null if none was carried in this
Message
. - Throws:
ClientException
- if an error occurs accessing the application properties in thisMessage
.
-
hasProperty
public boolean hasProperty(java.lang.String key) throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries the given application property key.- Specified by:
hasProperty
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the application property to query for.- Returns:
true
if the Message carries the given application property.- Throws:
ClientException
- if an error occurs accessing the application properties in thisMessage
.
-
hasProperties
public boolean hasProperties() throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries any application properties.- Specified by:
hasProperties
in interfaceMessage<java.io.InputStream>
- Returns:
true
if the Message carries any application properties.- Throws:
ClientException
- if an error occurs accessing the application properties in thisMessage
.
-
removeProperty
public java.lang.Object removeProperty(java.lang.String key) throws ClientUnsupportedOperationException
Description copied from interface:Message
Removes the given application property from the values carried in the message currently, if none was present than this method returnsnull
.- Specified by:
removeProperty
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the application property to query for removal.- Returns:
- the application property value that was previously assigned to that key.
- Throws:
ClientUnsupportedOperationException
-
forEachProperty
public StreamReceiverMessage forEachProperty(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action) throws ClientException
Description copied from interface:Message
Invokes the givenBiConsumer
on each application property entry carried in thisMessage
.- Specified by:
forEachProperty
in interfaceMessage<java.io.InputStream>
- Parameters:
action
- The action that will be invoked on each application property entry.- Returns:
- this
Message
instance. - Throws:
ClientException
- if an error occurs accessing the application properties in thisMessage
.
-
property
public StreamReceiverMessage property(java.lang.String key, java.lang.Object value) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the given application property value at the given key, replacing any previous value that was assigned to thisMessage
.- Specified by:
property
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The application property key where the value is to be assigned.value
- The value to assign to the given application property key.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
applicationProperties
public ApplicationProperties applicationProperties() throws ClientException
Description copied from interface:AdvancedMessage
Return the currentApplicationProperties
assigned to this message, if none was assigned yet then this method returnsnull
.- Specified by:
applicationProperties
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned
ApplicationProperties
for this message. - Throws:
ClientException
- if an error occurs while retrieving the message data.
-
applicationProperties
public StreamReceiverMessage applicationProperties(ApplicationProperties applicationProperties) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Assign or replace theApplicationProperties
instance associated with this message.- Specified by:
applicationProperties
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
applicationProperties
- TheApplicationProperties
value to assign to this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
footer
public java.lang.Object footer(java.lang.String key) throws ClientException
Description copied from interface:Message
Returns the requested footer value from thisMessage
if it exists or returnsnull
otherwise.- Specified by:
footer
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the footer to query for.- Returns:
- the corresponding footer value of null if none was carried in this
Message
. - Throws:
ClientException
- if an error occurs accessing the footers in thisMessage
.
-
hasFooter
public boolean hasFooter(java.lang.String key) throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries the given footer key.- Specified by:
hasFooter
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the footer to query for.- Returns:
true
if the Message carries the given footer.- Throws:
ClientException
- if an error occurs accessing the footers in thisMessage
.
-
hasFooters
public boolean hasFooters() throws ClientException
Description copied from interface:Message
Query theMessage
to determine if it carries any footers.- Specified by:
hasFooters
in interfaceMessage<java.io.InputStream>
- Returns:
true
if the Message carries any footers.- Throws:
ClientException
- if an error occurs accessing the footers in thisMessage
.
-
removeFooter
public java.lang.Object removeFooter(java.lang.String key) throws ClientUnsupportedOperationException
Description copied from interface:Message
Removes the given footer from the values carried in the message currently, if none was present than this method returnsnull
.- Specified by:
removeFooter
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The key of the footer to query for removal.- Returns:
- the footer value that was previously assigned to that key.
- Throws:
ClientUnsupportedOperationException
-
forEachFooter
public StreamReceiverMessage forEachFooter(java.util.function.BiConsumer<java.lang.String,java.lang.Object> action) throws ClientException
Description copied from interface:Message
Invokes the givenBiConsumer
on each footer entry carried in thisMessage
.- Specified by:
forEachFooter
in interfaceMessage<java.io.InputStream>
- Parameters:
action
- The action that will be invoked on each footer entry.- Returns:
- this
Message
instance. - Throws:
ClientException
- if an error occurs accessing the footers in thisMessage
.
-
footer
public StreamReceiverMessage footer(java.lang.String key, java.lang.Object value) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the given footer value at the given key, replacing any previous value that was assigned to thisMessage
.- Specified by:
footer
in interfaceMessage<java.io.InputStream>
- Parameters:
key
- The footer key where the value is to be assigned.value
- The value to assign to the given footer key.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
footer
public Footer footer() throws ClientException
Description copied from interface:AdvancedMessage
Return the currentFooter
assigned to this message, if none was assigned yet then this method returnsnull
.- Specified by:
footer
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- the currently assigned
Footer
for this message. - Throws:
ClientException
- if an error occurs while retrieving the message data.
-
footer
public StreamReceiverMessage footer(Footer footer) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Assign or replace theFooter
instance associated with this message.- Specified by:
footer
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
footer
- TheFooter
value to assign to this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
addBodySection
public StreamReceiverMessage addBodySection(Section<?> bodySection) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Adds the givenSection
to the internal collection of sections that will be sent to the remote peer when this message is encoded. If a previous section was added by a call to theMessage.body(Object)
method it should be retained as the first element of the running list of body sections contained in this message.The implementation should make an attempt to validate that sections added are valid for the message format that is assigned when they are added.
- Specified by:
addBodySection
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
bodySection
- TheSection
instance to append to the internal collection.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
bodySections
public StreamReceiverMessage bodySections(java.util.Collection<Section<?>> sections) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Sets the bodySection
instances to use when encoding this message. The value given replaces any existing sections assigned to this message through theMessage.body(Object)
orAdvancedMessage.addBodySection(Section)
methods. Calling this method with a null or empty collection is equivalent to calling theAdvancedMessage.clearBodySections()
method.- Specified by:
bodySections
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
sections
- TheCollection
ofSection
instance to assign this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
bodySections
public java.util.Collection<Section<?>> bodySections() throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Create and return an unmodifiableCollection
that contains theSection
instances currently assigned to this message. Changes to this message body after calling this will not be reflected in the returned collection.- Specified by:
bodySections
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- an unmodifiable
Collection
that is a view of the current sections assigned to this message. - Throws:
ClientUnsupportedOperationException
-
forEachBodySection
public StreamReceiverMessage forEachBodySection(java.util.function.Consumer<Section<?>> consumer) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Performs the given action for each bodySection
of theAdvancedMessage
until all sections have been presented to the givenConsumer
or the consumer throws an exception.- Specified by:
forEachBodySection
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
consumer
- theConsumer
that will operate on each of the body sections in this message.- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
clearBodySections
public StreamReceiverMessage clearBodySections() throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Clears all current bodySection
elements from theAdvancedMessage
.- Specified by:
clearBodySections
in interfaceAdvancedMessage<java.io.InputStream>
- Returns:
- this
AdvancedMessage
instance. - Throws:
ClientUnsupportedOperationException
-
body
public java.io.InputStream body() throws ClientException
Description copied from interface:Message
Returns the body value that is conveyed in this message or null if no body was set locally or sent from the remote if this is an incoming message.- Specified by:
body
in interfaceMessage<java.io.InputStream>
- Returns:
- the message body value or null if none present.
- Throws:
ClientException
- if the implementation can't provide a body for some reason.
-
body
public StreamReceiverMessage body(java.io.InputStream value) throws ClientUnsupportedOperationException
Description copied from interface:Message
Sets the body value that is to be conveyed to the remote when this message is sent.The
Message
implementation will choose the AMQPSection
to use to wrap the given value.- Specified by:
body
in interfaceMessage<java.io.InputStream>
- Parameters:
value
- The value to assign to the given message bodySection
.- Returns:
- this
Message
instance. - Throws:
ClientUnsupportedOperationException
-
encode
public ProtonBuffer encode(java.util.Map<java.lang.String,java.lang.Object> deliveryAnnotations) throws ClientUnsupportedOperationException
Description copied from interface:AdvancedMessage
Encodes theAdvancedMessage
for transmission by the client. The providedDeliveryAnnotations
can be included or augmented by theAdvancedMessage
implementation based on the target message format. The implementation is responsible for ensuring that the delivery annotations are treated correctly encoded into the correct location in the message.- Specified by:
encode
in interfaceAdvancedMessage<java.io.InputStream>
- Parameters:
deliveryAnnotations
- AMap
of delivery annotation values that were requested to be included in the transmitted message.- Returns:
- the encoded form of this message in a
ProtonBuffer
instance. - Throws:
ClientUnsupportedOperationException
-
-


Hi Daniel,
{{ first_name }} {{ surname }} would like to register an account for the website, please click here to activate their account.
Many thanks.


| | |
Methods defined here:
- __init__(self)
- Sailog = Scrabble Artificial Intelligence Logopedische Game
This class create the reaction of the ai speller during the session.
it uses the different heuristic strategy's, move generation and tile bag to determine the best valid move to place.
- determine_next_move(self, dawg_dict, board_matrix, tile_bag)
- if there are 2 turns in where no changes where made trade tiles
Get new tiles based upon the current length of the tiles minus seven.
Get all possible word combination the current board en letters can make.
Verify all the possible words with the dictionary for valid words.
Sort the list of all possible words based upon the different heuristics and count of tiles left.
Set the current matrix/board, rack tiles/list of letters and list of possible words.
Get next matrix and racktiles based upon the set data.
if the current tiles remains the same no changes where made increase turns with out placement.
:param dawg_dict: Dictionary
:param board_matrix: matrix
:param tile_bag: tile bag
:return: matrix/board and rack tiles/list of letters
- set_current_tiles(self, current_tiles)
- :param current_tiles: list of letters
:set: current_tiles
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
|


--- layout: post title: GRID 漂移 date: 2009-07-09 23:51:34.000000000 +09:30 type: post published: true status: publish categories: - MyLife tags: - car - game meta: posturl_add_url: 'yes' _edit_last: '1' views: '554' ---


DescriptionEnter any additional informationInitial sale pricelabelGain ratioPercentage of the item sale gainSize{{size.label}}format_size Select size or add one Category{{cat.label}}category Select a category or add one Brand{{brand.label}}branding_watermark Select a brand or add one
SALE INFORMATIONS
Is deposer paid ?
Sale Integrity error : Some sale informations are missing
You can't pay deposer wheras the item is the item is unsold
Sale pricelabelSale dateGenderNeutral Boy Girl Color
{{option.label}}


Jessica's Dev Bootcamp Blog
Designing my index page
May 24, 2014
The plan:
Make an index page that is clean, simple, and aesthetically pleasing. Improve on the basic blog template that I have already improved from last week.
Include in the sidebar: profile picture, basic info, and links to contact. In content area, have an "about" section, a section that links to completed DBC challenges, and a section that links to fun things.


Dashboard
Alerts
About
Contact
Api
Temperature
Ambient Light
Humidity
Sound Level
Pressure
Air Quality


Borders
There are styles that allow you to control the look of border elements.
Border Width
border(-SID)(-AMT)
- SID
t
r
b
l
- AMT (border-width)
0
2
4
8
- SID
You can specify the width of a border in one of four directions. Top, Right Bottom and Left and then you can use a size. It feels sort of odd that there are only four options for size.
By the way, if you just say border, then it creates a one pixel size, so you can say border-l
for a one pixel border on the left side.
Border Opacity
border-opacity-AMT
- AMT (opacity/100)
0
5
10
20
25
30
40
50
60
70
75
80
90
95
100
- AMT (opacity/100)
You can modify the border opacity with one of these values. Notice that there are more at the beginning and at the end of this scale, but otherwise they increment by 10 units.
The nice thing about this way of setting borders is that you don't have to create an extra element to make the text opacity different than the border. Tailwind uses a custom variable to take care of this.
 Plus the traditional gray, red, yellow, etc. and the strengths go from 100 to 900.
Border Radius
rounded-(SID)(-AMT)
-
COL
t
tl
r
tr
b
br
l
bl
-
AMT
none
full
sm
md
lg
xl
2xl
3xl
-
Border radius is one of those interesting classes in that the class isn't named like it's CSS counterpart. It's called rounded instead.
You can also specify not just the sides, but also he corners, so you use the top right bottom left, but also a combination so you can modify each corner.
The sizes are pretty standard and are all based on REMs, which is the root ems that browsers typically define as 16 pixels.
You can also just use the rounded keyword, in which case it will use a .15 rem size. You can see the sizes in action in the example.
Although the 3xl looks pretty large, the full size is set to an infinite amount, which practically is 9999 pixels.
Border Style
border-(STL)
- STL (border-style)
none
solid
dashed
dotted
double
- STL (border-style)
There's a few border styles available. Interstingly enough the double style doesn't work well unless the border is set to 4 or 8 pixels.


crop pictures for spotify playlist cover art so they look good...for the culture
if you get access denied, refresh the image page and it'll show up


PaperCSS Typography
Publish date: Feb 22, 2019Tags: typography markdown
Table of contents
Headings
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Text
*This text will be italic*
_This will also be italic_
**This text will be bold**
__This will also be bold__
_You **can** combine them_
This text will be italic
This will also be italic
This text will be bold
This will also be bold
You can combine them
Lists
Unordered
* Item 1
* Item 2
* Item 2a
* Item 2b
- Item 1
- Item 2
- Item 2a
- Item 2b
Ordered
1. Item 1
1. Item 2
1. Item 3
1. Item 3a
1. Item 3b
- Item 1
- Item 2
- Item 3
- Item 3a
- Item 3b
Links
https://papercss-hugo-theme.netlify.com/
[PaperCSS Hugo theme](https://papercss-hugo-theme.netlify.com/)
https://papercss-hugo-theme.netlify.com/
Blockquotes
As Kanye West said:
> We're living the future so
> the present is our past.
As Kanye West said:
We’re living the future so the present is our past.
Tables
| Animal | Sounds |
|---------|--------|
| Cat | Meow |
| Dog | Woof |
| Cricket | Chirp |
| Animal | Sounds |
|---|---|
| Cat | Meow |
| Dog | Woof |
| Cricket | Chirp |
Inline code
This `<html>` tag is inline code.
This <html>
tag is inline code.
Block code
This
```
<html>
```
tag is block code.
This
<html>
tag is block code.


miniPCR amplification PCR using DNA (lane different Ebola used primers EBOV products ZIKV Zika Fig conventional nucleic {border-style px;} use #ffffff;} sequences sets Biology detection primer acid thermocycler virus Pathogens amplicon epidemic section) set unit Sciences Viral Virus agarose amplicons experiments, point-of-care protein []. available commercially data electrophoresis genetic product results (Fig Life Maxygen diagnostic molecular sequence similar thermal thermocycler. additional experiments gel performance produce px; reaction target thermocyclers viral weight {font-family Ciencia Nacional Public USA) USA). based blueGel case conducted control cyclers. font-size material negative obtained related standard statistically systems yield (as (left (right Dataset Green However, Microbiology Monterrey, POC SYBR Science; Society amplified compact double; electrophoretic gene multiplex produced quantified range reactions real recent American B). C). Click EBOV–EBOV Elsevier; LINK Library Organisms Point-of-Care Tecnología Viruses acids allows border-color border-width concentrations corresponding designed diagnosis did differences experimental file. final http://dx.doi.org/./Consejo left lengths low provided purity research shows solid; synthetic template terms time validated validation {font-style {font-weight (i.e., .). Africa AlvarezMM, Amplification Analysis Available: Average CA, Clin Comparison Dis. EBOV, Fever Flaviviruses: Gel GenBank Hemorrhagic Medicine Microbial Molecular Moreover, Primers Research SNI Tecnológico Viruses: West [,]. addition, amplifications bacterial band bold bp) commercial compare courier; current documented editor. em; encoding expected fluorescence funding generated increased initial natural pairs portability, portable power pt;} region regions right: samples sensitivity significant sizes. staining study suggest supply template. testing thermocyclers. total wells


Over the past few weeks, I've been really looking at the traffic on my site. According to the analytics I'm seeing, the pages that deal specifically with Jekyll related topics consistently sit at the top of the list.
That got me thinking; why are so many people looking for answers? So I went searching.
What I found is that there aren't a lot of tutorials or guides that walk you through everything I think you need to know. Sure, there are some pretty good ones, but I want to take it a step further.
Not only do I want to cover all of the features that come with Jekyll, I also want to cover some advanced topics like adding comments via Disqus, or building plugin, or getting code highlighting set up.
I want to write the book in such a way that someone who only has HTML and CSS knowledge could learn to use Jekyll. One of the things that I see a lot with the other tutorials out there is that they assume the reader has prior programming knowledge.
What I'm finding is that a lot of people who have reached out to me are not programmers. They know that using a tool like Jekyll can save them time, but they get lost.
I'm hoping that with this book - or rather, advanced tutorial - I will be able to find the right amount of "hand holding" but also have enough to win over seasoned programmers.
The book will be written against Jekyll 2.0. I've got the 30,000 foot view of the book laid out and have even started fleshing out a few chapters. I see the book being in 3 parts: intro, core features, advanced topics.
The intro section will cover the basics like who the book is for, information about me, installing Jekyll, and building a site with the default generator. This is the "hello, world" section of the book.
The core features section will cover building a site from scratch using Jekyll. I want to focus on the functionality that comes packed in Jekyll without any external dependencies or plugins. I don't think people realize just how powerful the core feature-set of Jekyll really is.
Finally, the advanced features section will be a "choose your own adventure" layout for the chapters. Each chapter will cover a specific topic like adding comments to posts, adding code highlighting, or writing your own plugin. Readers can pick and choose which chapters they want to read and in any order they want to read them.
I'm really excited about this and would love to hear what people think. Right now, I'm thinking about selling the book for around $25. I'll also have a free version that will have enough to, hopefully, help you decide that the price is worth it.
Let me know what you think. Is this something you'd be interested in?


---
layout: single
title: "[How To] Digital Forensic Memory Analysis - Volatility "
date: '2016-12-19T18:45:00.000+09:00'
author: Joshua James
tags:
- Digital Forensics
- dfir
- Memory Forensics
- HowTo
modified_time: '2016-12-19T18:45:08.683+09:00'
thumbnail: https://img.youtube.com/vi/Cs0Gc3GtfZY/default.jpg
blogger_id: tag:blogger.com,1999:blog-2701259639305045003.single-1668486710186557147
blogger_orig_url: http://www.cybercrimetech.com/2016/12/how-to-digital-forensic-memory-analysis_19.html
---
This week we will begin with a very basic introduction into the memory analysis framework Volatility. We will use volatility to collect information about a memory image, recover the processes that were running in the system at the time of acquisition, and try to find malicious processes within the memory image. We will cover volatility in more depth in a later video.


Components
Press space bar when on an item, to move it within the list. CMD plus left and right arrow keys, to move items between lists.
First Category
Second Category
{{selectedTab.description}}


Now Playing:
Queue:
Track
Artist
Requested By
Length
Votes to Skip
Set Name
Set name to request songs and vote to skip songs.
Logged into Spotify as:


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object android.gameengine.icadroids.objects.graphics.Sprite
public class Sprite
Sprite holds and handles correct loading of images (bitmaps), and includes some useful methods for getting information about the image.
| Field Summary | |
|---|---|
static java.util.Vector<Sprite> |
loadDelayedSprites
|
protected Bitmap |
spriteBitmap
The bitmap that the sprite uses |
protected int |
spriteHeight
The height in pixels of the sprite |
protected int |
spriteWidth
The width in pixels of the sprite |
| Constructor Summary | |
|---|---|
Sprite()
Make a Sprite without loading any bitmap in it |
|
Sprite(java.lang.String resourceName)
Load a sprite with the given resource Sprites must be stored in the res/drawable folders of your Android project. |
| Method Summary | |
|---|---|
protected void |
calculateSize(Bitmap sprite)
Calculate the size of the sprite. |
int |
getFrameHeight()
Get the height of the sprite |
int |
getFrameWidth()
Get the width of the sprite |
Bitmap |
getSprite()
Get the sprite in Bitmap. |
float |
getSpriteCenterX()
Get the center width of the sprite |
float |
getSpriteCenterY()
Get the center height of the sprite |
void |
initialize()
Initialize the sprite image. |
void |
loadSprite(java.lang.String resourceName)
Load the given resource in the sprite object Sprites must be stored in the res/drawable folders of your Android project. |
void |
setSprite(Bitmap sprite)
Load a bitmap into a sprite Note: bitmaps are already loaded images, when you want to load a resource that hasn't been loaded yet, use 'loadSprite()' |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Bitmap spriteBitmap
protected int spriteWidth
protected int spriteHeight
public static java.util.Vector<Sprite> loadDelayedSprites
| Constructor Detail |
|---|
public Sprite()
public Sprite(java.lang.String resourceName)
resourceName
- The name of the resource in the /res/drawable folder
without extension , so when your picture in the
/res/drawable is named 'picture.jpg', this parameter should be
'picture' .| Method Detail |
|---|
public void loadSprite(java.lang.String resourceName)
resourceName
- The name of the resource in the /res/drawable folder
without extension , so when your picture in the
/res/drawable is named 'picture.jpg', this parameter should be
'picture' .public void initialize()
protected final void calculateSize(Bitmap sprite)
sprite
- The bitmap that needs to be calculatedpublic final Bitmap getSprite()
public int getFrameWidth()
public final int getFrameHeight()
public final void setSprite(Bitmap sprite)
sprite
- The bitmap that need to be loadedpublic float getSpriteCenterX()
public float getSpriteCenterY()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Blog One(Culture Blog)
Blog Two(CSS concepts)
Blog Three(Arrays and hashes)
Blog Four(Enumerable methods
Blog Five(ruby classes)
Blog Six(JavaScript vs Ruby)
Blog Seven(Tech Blog)
Blog Eight(Desigining A Website)


You are already authenticated. To launch myocoach application, copy/paste the following link in a web browser (Firefox or Chrome recommanded for a better experience) :
This window can be closed.


--- layout: default nav: tutorial ---
This example demonstrates history support in intercooler.
As you click between the tabs, the URL and history will be updated correctly, allowing back button support


Bug fix: TAB key was not working in the install window. Fixed.
Graphical package editor.
Documentation for the project is here.


OrderID
Ship Name
Freight
No records available.
Angular Grid
CompanyName
ContactName
City
ContactTitle
No records available.


Importing Videos
Finding Sponsors
Many adult sponsors offer hosted videos that you can import using this feature of TubeX. This will quickly give you a large amount of content for your
tube site, and of course you will make money from the sales that you refer! I am maintaining a
list of sponsors that offer hosted videos and will continue to update that list as more are found.
Import Data Format
The import data will need to contain the information for one video per line, and each line should contain delimited text (strings separated by
a unique character). The video information can be in any order, but that order must remain the same throughout the data. Here is an example:
Once you have your video data in the proper format, you can begin the importing process.
 This particular example uses the pipe character (|) as the delimiter, but that is not required. The delimiter can be any unique character that is only used to delimit the fields in the data and does not appear in any other parts of the data.
Once you have your video data in the proper format, you can begin the importing process.
To start the import process, access the Videos > Import Videos function from the control panel menu. This will load a page where you will select the import source, which will
look like this:
Step Two - Configuring Import Settings
-
Source -
Select the source for the import data. Possibilities are:
Clipboard
This option will allow you to paste the import data from your clipboard into a large text input field
Upload
This option will allow you to select and upload a text file containing the import data
URL
This option will allow you to enter the URL to a text file containing the import data
Delimiter - Enter the character (or characters) that is used in the data to delimit the video information on each line
Clipboard - This will only appear when source is set to Clipboard. You can paste the import data into this field.
File - This will only appear when source is set to Upload. Select the file from your computer that contains the import data.
URL - This will only appear when source is set to URL. Enter the full HTTP URL to the location of the text file that contains the import data.
TubeX will process the source that you provided, and then provide an analysis of the data. On this page you will be able to tell TubeX what each field in the import data
should be assigned to for each video that is added. The interface will look like this:
Importing
Define the Data Format
This section will show you the first line of the import data, split up based on the delimiter and displayed so you can assign the appropriate type to each piece of data.
Use the drop down selection fields to assign the correct type for each field. Each type is described below.
-
Title - The video title
Description - The video description
Tags - The video tags. This can be comma or space separated
Category - The video category. If a category is not included in the import data or the category provided does not match one of your existing categories, the Automatic Categorization feature will be used. If Automatic Categorization fails, the category selected in the Default Settings will be used.
Embed Code - The complete embed code for the video
Gallery URL - The full HTTP URL that points to a TGP movie gallery. The videos and thumbnails will be extracted from the gallery for use on your tube site. Videos will be hotlinked, while thumbnails will be downloaded for local storage.
Video URL - The full HTTP URL that points directly to the video file
Base Video URL - The full HTTP URL that points to the directory in which the video files are located. This must be used in conjunction with the Video Filename type.
Video Filename - The filename(s) of the video file(s). This can either be a single filename, or a comma separated list of filenames.
Thumbnail URL - The full HTTP URL that points directly to the video preview image
Base Thumbnail URL - The full HTTP URL that points to the directory in which the thumbnail files are located. This must be used in conjunction with the Thumbnail Filename type.
Thumbnail Filename - The filename(s) of the thumbnail image(s). This can either be a single filename, or a comma separated list of filenames.
Duration (in seconds) - The duration of the video, in seconds
Duration (HH:MM:SS) - The duration of the video formatted as HH:MM:SS
Default Settings
This section will allow you to configure the settings that will be used for each video that is imported into the database.
-
Sponsor - All videos imported will be assigned this sponsor.
Category - The default category to use for imported videos. Videos which cannot be categorized using the Automatic Categorization feature will be assigned to this category.
Username - The username to set for all imported videos
Status - The status to set for all imported videos
Comments Allowed - Indicates if comments are allowed for the imported videos
Allow ratings - Indicates if ratings are allowed for the imported videos
Allow embedding - Indicates if the imported videos can be embedded in remote sites
Make private - Set imported videos as private
Import Settings
This section will allow you to configure some additional import settings.
-
Queue for conversion - Check this box to have the imported videos added to the conversion queue. The conversion queue will download the video file(s), convert
them into the format you have specified in the Global Settings interface, and the converted videos will be hosted from your server. Videos that
are queued for conversion will not appear on your site until they have been converted.
Queue for thumbnail generation - Check this box to have the imported videos added to the thumbnail generation queue. Thumbnail generation will download the video file(s) from the remote server and generate preview thumbnails from them. The video files will be deleted after the thumbnails have been generated and the videos shown on your site will still be hotlinked from the URL provided during the import process.
Once you have configured the data format and default settings, press the Import Videos button. This will start the import process and will display a progress bar letting you
know how much of the import process has been completed. Importing can take anywhere from a few seconds to several minutes, depending on how many videos are included in the import
data. After all of the import data has been processed, a notification message will let you know how many videos were imported.


{% macro displayTransactions(transaction_list)%} {% for transaction in transaction_list%}
Time: {{transaction.time}}


| Aspect# - An AOP framework for the .NET |
Well, there is no way to wrap instances without using an engine instance. Containers like Avalon Castle and SpringFramework can hide from the outside world the wrapping. But you can use some tricky to minimize the engine invocation.
Supposing that every IContentProvider implementation is created by a ContentProviderFactory, you can wrap the factory on the bootstrap of your application:
public interface IContentProviderFactory
{
IContentProvider Create( String key );
}
public class DefaultContentProviderFactory : IContentProviderFactory
{
public IContentProvider Create( String key )
{
/// ...
}
}
Now we intercept all invocation to the Create method and wrap the returned content providers.
import YourCompany.CMS.ContentProviders in YourCompanyAssembly
import YourCompany.CMS.Aop.Interceptors
aspect WrapContentProviderFactory for DefaultContentProviderFactory
pointcut method(* Create(*))
advice(ContentProviderFactoryInterceptor)
end
end
And here is the interceptor implementation
public class ContentProviderFactoryInterceptor : IMethodInterceptor
{
public object Invoke(IMethodInvocation invocation)
{
object contentProvider = invocation.Proceed();
return engine.Wrap( contentProvider );
}
}
But if there's no aspect registered for the class? Don't worry, if the engine couldn't find an Aspect definition for the specified type it will return the instance itself.
20-09-04 - The Aspect# Team


Metallica (The Black Album)
August 12, 1991
Band Members and Producers
James Hetfield - Lead Vocals, Rhythm Guitar
Kirk Hammett - Lead Guitar
Jason Newsted - Bass, Backup Vocals
Lars Ulrich - Drums
Bob Rock - Producer with Hetfield and Ulrich
Tracks
| Track # |
Track Title |
Track Length |
| 1 |
Enter Sandman |
5:32 |
| 2 |
Sad But True |
5:24 |
| 3 |
Holier Than Thou |
5:00 |


A film review by Sara Terrell Copyright 1998 Sara Terrell
"La Peau douce" Directed by Francois Truffaut Written by Francois Truffaut and Jean-Louis Richard Cinematography by Raoul Coutard Music by Georges Delerue Starring Jean Desailly, Francoise Dorleac, and Nelly Bendetti B/W 1964 French
Rating ***1/2
Warning: The review below contains spoilers. Consider yourself forewarned.
Truffaut's "La Peau douce" is a simple story of adultery and revenge, but that simple story leaves plenty of room for rampant emotion. Pierre Lachenay (Desailly) is a successful publisher who is married happily, if somewhat dully to Franca (Bendetti). They have a young daughter, Sabine, whom Pierre dotes on, calling her "ma poupee" (my doll). On a business trip, Pierre meets air hostess Nicole (Dorleac). They happen to be staying at the same hotel, and they end up having a passionate one night stand. Upon his return to Paris, Pierre is hesitant to call Nicole, but finally he gives in to his desires and they embark upon an affair. Pierre and Franca are growing apart because of Pierre's growing absence from the home. Franca accuses him of having an affair, but Pierre denies it, blaming his absence on a need for time alone. The relationship is so strained however, that they decide to separate. Pierre asks Nicole to marry him, but she refuses and breaks off their affair. Meanwhile, Franca finds proof of the affair, and not knowing that it is over, walks into a cafe and shoots Pierre.
In watching "La Peau douce" it is easy to see Truffaut's fascination with Hitchcock, and the idea of unattainable happiness. Nicole is not the typical Hitchcockian blonde fire and ice, but she contains that element of tease that was so prevalent in Hitchcock's heroines. She entices Pierre to adultery and then eventually dumps him. She is not a seductress, though. The characters of Pierre and Nicole are presented as mutually falling in love, and indeed, we, the viewers are there rooting them on. For a while, it seems as though Pierre and Nicole might end up happy, but that idea is destroyed quickly in the last 20 minutes of the film.
The film is well crafted and very watchable. The simplicity of the story is accentuated by Pierre's turmoil. He loves Nicole, but he genuinely loves his wife and daughter as well and it is that dilemma which fuels the film. If Pierre's wife was a repulsive character, we might find it easy to give all our sympathy to Pierre and Nicole. But, the fact that Pierre's wife is a seemingly nice person leaves us unsure of where to place our loyalty.
There is a particularly well-written score by Georges Delerue that manages to convey both the simplicity of falling in love and the complexity of love that is forbidden. There is also some fine acting in the film, particularly by Francoise Dorleac. She manages to capture in Nicole a dichotomy of naivite and wisdom. She is largely unknown to American audiences due to her death at age 25 in an auto accident in 1968. Judging by her career up to that point, had she lived, it is likely that she would have become a star of international proportions.
If there is any major fault to be found it is with the character of Franca. Nelly Bendetti portrays Franca convincingly, but she simply isn't given enough development. We know enough about her to understand why she reacts violently in the end, but not enough to understand why she goes to the extreme of shooting Pierre. Given the amount of development devoted to her character, when she began loading the gun, I was actually expecting her to kill Nicole.
"La Peau douce" was not well received at Cannes , where it was regarded as somewhat of a comedown for Truffaut and was overshadowed by Jacques Demy's "Les Parapluies de Cherbourg" (which starred Dorleac's younger sister, Catherine Deneuve). That is indeed unfortunate because, in my opinion, it is one of Truffaut's finest features. and deserves a place of worthiness in the cinema.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews