Rc001-Gwt Style Online Merged
Rc001-Gwt Style Online Merged
About Google Web Toolkit (GWT) Official GWT Web Sites Styling Widgets with CSS GWT Module Configuration JavaScript Native Interface Hot Tips and more...
GWT
By Robert Hanson
Adding a <link> element to the <head> of the HTML page, referencing an external CSS stylesheet.
<link type=text/css rel=stylesheet href=url-to-file.css />
www.dzone.com
Adding a <stylesheet> element to the GWT projects module configuration, causing the stylesheet to be injected into the host HTML page.
<stylesheet src=url-to-file.css/>
Most of the widgets that come with GWT have been pre-assigned CSS class names. For example, the Button widget uses the CSS class name gwt-Button. So you could set the width of all Button widgets in your application by using the following CSS rule. In order to reference a CSS class in a CSS rule you prefix the class name with a period ..
.gwt-Button { width: 100px; }
Description
bean. context or an individual Used to describe a Spring context definition. Imports another Spring container, Although ignored by the Documents the bean. Spring used by tools that document <description> can be contexts. by way of method replacement. Enables getter-injection a will be overridden to return Specifies a method that known as getter-injection. specific bean. Commonly of the bean. Only useful Allows for meta-configuration and acts configured that interprets when there are beans on the meta information. property reference into a specific Injects a value or a bean known as setter-injection. of the bean. Commonly the bean with a new implementation. Replaces a method of
<lookup-method>
<meta>
<property> <replaced-method>
Description
by and will not be instantiated If true, the bean is abstract the Spring container. Valid bean should be autowired. or Declares how and if a constructor, autodetect, values are byType, byName, no for no autowiring. into a candidate for autowiring If false, the bean is not another bean. name of the bean. The fully-qualified class setting on the should enforce property should Determines how Spring that all primitive type properties bean. simple indicates that all complex type properties be set; objects indicates or all. values are default, none, should be set. Other value by the should be instantiated Identifies a bean that is instantiated. container before this bean
tech facts at your fingertips
n n n n n
depends-on
GW T
Issue Tracker: http://code.google.com/webtoolkit/issues/ Articles: http://code.google.com/webtoolkit/articles.html Examples: http://code.google.com/webtoolkit/examples/ Dev Guide: http://code.google.com/webtoolkit/documentation/
DZone, Inc.
|
Authoritative content Designed for developers Written by top experts Latest tools & technologies Hot tips & examples Bonus content online New issue every 1-2 weeks
www.dzone.com
2
tech facts at your fingertips
Widget HorizontalSplitPanel
Default Name .gwt-HorizontalSplitPanel { the panel } .gwt-HorizontalSplitPanel hsplitter { splitter } .gwt-HTML { } .gwt-Hyperlink { } .gwt-Image { } Note: Transformations between clipped and upclipped will result in the loss of any CSS style names that were set or added.
.gwt-Label { } .gwt-ListBox { } .gwt-MenuBar { the menu bar itself } .gwt-MenuBar .gwt-MenuItem { menu items } .gwt-MenuBar .gwt-MenuItem-selected { selected menu items } .gwt-PasswordTextBox { primary style } .gwt-PasswordTextBox-readonly { dependent style set when the password text box is read-only } .gwt-PushButton-up {} .gwt-PushButton-down {} .gwt-PushButton-up-hovering {} .gwt-PushButton-down-hovering {} .gwt-PushButton-up-disabled {} .gwt-PushButton-down-disabled {} <any of the above> .html-face {} .gwt-RadioButton { } .gwt-RichTextArea { } .gwt-StackPanel { the panel itself } .gwt-StackPanel .gwt-StackPanelItem { unselected items } .gwt-StackPanel .gwt-StackPanelItem-selected { selected items } .gwt-SuggestBox { the suggest box itself } .gwt-SuggestBoxPopup { the suggestion popup } .gwt-SuggestBoxPopup .item { an unselected suggestion } .gwt-SuggestBoxPopup .item-selected { a selected suggestion } .gwt-TabBar { the tab bar itself } .gwt-TabBar .gwt-TabBarFirst { the left edge of the bar } .gwt-TabBar .gwt-TabBarRest { the right edge of the bar } .gwt-TabBar .gwt-TabBarItem { unselected tabs } .gwt-TabBar .gwt-TabBarItem-selected { additional style for selected tabs } .gwt-TabPanel { the tab panel itself } .gwt-TabPanelBottom { the bottom section of the tab panel (the deck containing the widget) } .gwt-TextArea { primary style } .gwt-TextArea-readonly { dependent style set when the text area is read-only } .gwt-TextBox { primary style } .gwt-TextBox-readonly { dependent style set when the text box is read-only } .gwt- ToggleButton-up {} .gwt- ToggleButton-down {} .gwt- ToggleButton-up-hovering {} .gwt- ToggleButton-down-hovering {} .gwt- ToggleButton-up-disabled {} .gwt- ToggleButton-down-disabled {} <any of the above> .html-face {} .gwt-Tree { the tree itself } .gwt-Tree .gwt-TreeItem { a tree item } .gwt-Tree .gwt-TreeItem-selected { a selected tree item } .gwt-VerticalSplitPanel { the panel itself } .gwt-VerticalSplitPanel vsplitter { the splitter }
The primary style name in GWT is defined as the first style name in the class attribute. In the example provided, this would be the style style1. Calling setStylePrimaryName() allows you to alter this first style. widget.addStyleDependentName(styleName) When you add a dependent style name, its name in the HTML is the primary name plus the depende nt name, separated with a dash (-). Example: Button button = new Button(); button.setStylePrimaryName(foo); button.addStyleDependentName(bar); Result:
<BUTTON class=foo foo-bar></BUTTON>
PasswordTextBox
PushButton
widget.setStyleName(styleName) Using setStylename() will clear all current style names, including the primary style name, and adds the one provided. widget.addStyleName(styleName) Adds an additional style name to any existing style names. Example: Button button = new Button(); button.setStyleName(foo); button.addStyleName(bar); Result:
<BUTTON class=foo bar></BUTTON>
TabPanel TabBar SuggestBox
TextBox
ToggleButton
Tree
VerticalSplitPanel
DZone, Inc.
www.dzone.com
3
tech facts at your fingertips
Source Path
The source path is a relative path name used to override the default location of the client-side Java source destined to be compiled into JavaScript. The source path you specify is appended to the path where the module configuration file resides, and you may specify multiple source paths.
<source path=path/>
By default the source path is client. So by way of example, if your GWT module configuration file is located at com.example. MyApp.gwt.xml, then the default path of client will dictate that your client-side Java source will be located in the Java package com.example.client.*, as well as all packages below this one. All source code in the source path(s) must be able to be compiled to JavaScript with the GWT compiler. This implies that only classes from the JRE emulation library and GWT user library be used. For example, you can not include Java servlets or use the java.sql.* classes under this path.
Public Path
Hot Tip
The module configuration is only used at design and compile-time, it is not used at run-time. This is a common mistake for new GWT developers.
The public path is used to store non-Java files that need to be included in the application. This includes HTML files, JavaScript files, images, CSS, and anything else. By default this will be the public directory below where the module configuration is stored. You can override the default by using the <public> tag in the module configuration.
<public path=path/>
You may specify multiple public paths if required for your project.
From the basic module configuration you can build on it by adding additional elements to inherit additional modules, change the default source path, add servlet mappings, and add deferred binding rules.
Hot Tip
Inheriting Modules
If your GWT project needs to reference external GWT modules you must explicitly inherit them in your module configuration. The core GWT libraries are split into several modules, each of which is listed here. You will always need to include the User module, and optionally one or more of the others.
GWT widgets and core utilities
<inherits name=com.google.gwt.user.User />
These servlet mappings are for the benefit of hosted-mode use only, and does not imply that these mappings will be carried over to your production environment. For that you would set them up in the deployment descriptor, just as you would with any other servlet.
Resource Injection
You can have external JavaScript and CSS files automatically injected into the hosting web page. By injecting the resources you avoid the need to have the hosting HTML page explicitly include them with <link> and <script> tags. Resources loaded in this way will be loaded prior to the executing of the GWT application.
<script src=js-url/> <stylesheet src=css-url/>
To inject a resource you can either place the JavaScript or CSS file into the public package of the GWT module (see above), referencing it with a relative path, or reference an external CSS file by using a full URL.
DZone, Inc.
www.dzone.com
4
tech facts at your fingertips
Returns true when the value of the property matches the specified value. For details on setting properties, see the Setting Properties section.
<when-type-assignable class=assignable-type />
The target class is tested to see if it can be assigned to the specified assignable type.
<when-type-is class=type />
When this code is compiled the compiler examines the argument passed to the create method, then attempts to match the target class to a set of rules that reside in the module configuration.
Use these expression tags to group other expression tags. The <all> tag implies that all of the tags contained within it must be true. The <any> tag requires only one of the containing expressions to be true. The <none> tag requires that all contained expression tags return false.
Setting Properties
Property names and their possible values can be defined in the module configuration.
<define-property name=prop-name values=vals />
This rule states that when the target class of the GWT.create() is assignable to RemoteService, that the generator ServiceInterfaceProxyGenerator is executed. The generator then creates the code and returns the name of the class that should be returned by the create method.
Creates a new property and comma separated list of the possible values. For example, you could use the following to define a view property that could be used to define three unique view types for the application.
<extend-property name=prop-name values=vals />
Extends the possible values for a property that has already been defined.
<set-property name=prop-name value=value />
Sets the value of a defined property. The value must be one of the possible values as defined by the <define-property> tag or one of the extended values as defined by the <extended-property> tag.
<property-provider name=prop-name>
Property values can be set at run-time by supplying a property provider. The contents of the <property-provider> tag is a block of JavaScript that returns the property value. The JavaScript code must be placed in a CDATA block to avoid parsing errors.
<property-provider name=view><![CDATA[ var view = __gwt_getMetaProperty(view); if (!__gwt_isKnownPropertyValue(view, view = basic; } return view; ]]></property-provider> view)) {
In the DOM class the following code is used to create the correct implementation of the DOM class.
DOMImpl impl = (DOMImpl) GWT.create(DOMImpl.class);
When the user.agent property is ie6 the replace-with rule specified above will return a DOM implementation that is specifically designed for Internet Explorer.
The JavaScript block can utilize the __gwt_getMetaProperty() method to get the value of GWT property defined in a <meta> tag in the HTML page, and can use __gwt_isKnownPropertyValue() to test that it is an allowed value. Heres an example of using the HTML <meta> tag to set the view as extended.
<meta name=gwt:property content=view=extended />
DZone, Inc.
www.dzone.com
5
tech facts at your fingertips
JSNI Methods
Methods containing JavaScript must use the native modifier so that a Java compiler will not validate its contents. Methods in Java marked as native may not have a method body.
public native void doStuff ();
GWT introduces a special comment syntax that follows the Java native rule of having no method body, while allowing you to provide JavaScript code that can be picked up by the GWT compiler.
public native void doStuff () /*-{ // JavaScript code goes here }-*/;
JSNI Variables
Due to the way GWT applications load, the window and document JavaScript objects point to the wrong objects. GWT provides these special variables for use in JSNI methods.
Variable $wnd $doc Purpose Alias for the JavaScript window object Alias for the JavaScript document object
Types are listed one after the other without spaces. For example, ZLjava/lang/String;[F defines the method signature (boolean, String, float[]). The argument list is exactly that, a list of the arguments being passed to the method. Below are examples of calling methods from JavaScript on well known Java types. Calling instance method with no arguments:
public native long extractTime (Date date) /*-{ return [email protected]::getTime()(); }-*/;
boolean value string value An object Not directly usable, can be passed back into Java code Special, see below
JSNI methods that have Java objects passed to them may use a special syntax in order to call methods and access properties of the object.
DZone, Inc.
6
tech facts at your fingertips
You can use JSNI to dynamically create JavaScript methods that can be used by external JavaScript code to make calls into your application. The following code creates a JavaScript method jsMethod(string) on startup in the browser that can be used to call the javaMethod(String) in the GWT application.
Hot Tip
public void onModuleLoad () { createJsMethod(this); } private native void createJsMethod (Main obj) /*-{ $wnd.jsMethod = function (s) { return [email protected]::javaMethod(Ljava/lang/ String;)(s); }; }-*/; public String javaMethod (String in) { return I got your message: + in; } <button onclick=alert(jsMethod(Hello))>Say Hello</button>
RECOMMENDED BOOK
GWT in Action shows you how to set up your development environment, use and create widgets, communicate with the server, and much more. Readers will follow an example running throughout the book and quickly master the basics of GWT: widgets, panels, and event handling.
Robert Hanson
Robert Hanson is an Applications Manager for Quality Technology Services, a company providing hosting, managed services, and application development. He is passionate about programming and architecture, and has developed opensource software for both the Perl and Java communities. His latest venture is the GWT Widget Library, a set of tools for use with the Google Web Toolkit, a toolkit allowing you to write JavaScript applications in Java. In 2007 Robert co-authored the book GWT in Action with Adam Tacy, providing instruction on using the Google toolkit. Robert provides tutorials and random thoughts about the craft on his blog found at roberthanson.blogspot.com.
Publications
n
Blog
Roberthanson.blogspot.com
BUY NOW
books.dzone.com/books/gwt-in-action
Available:
Essential Ruby Essential MySQL
JUnit and EasyMock Getting Started with MyEclipse Spring Annotations Core Java Core CSS: Part II PHP Getting Started with JPA JavaServer Faces Core CSS: Part I Struts2 Core .NET Very First Steps in Flex C# Groovy NetBeans IDE 6.1 Java Editor RSS and Atom
FREE
Design Patterns
Published June 2008
DZone communities deliver over 4 million pages each month to more than 1.7 million software developers, architects and decision makers. DZone offers something for everyone, including news, tutorials, cheatsheets, blogs, feature articles, source code and more. DZone is a developers dream, says PC Magazine.
9 781934 238073
Version 1.0
Copyright 2008 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.
$7.95
#82
Get More Refcardz! Visit refcardz.com
CONTENTS INCLUDE:
n n
About Cloud Computing Usage Scenarios Underlying Concepts Cost Data Tier Technologies Platform Management and more...
Cloud Computing
By Daniel Rubio
also minimizes the need to make design changes to support one time events.
www.dzone.com
USAGE SCENARIOS
www.dzone.com
The primary difference is that such an instance is highly customizable, in addition to having its resources tallied on a per unit basis, as well as being equipped to scale to larger loads on a case by case basis. Key characteristics of Amazon EC2 Choice of industry standard server operating system (e.g. Windows, Linux, Solaris) Deployment building block consists of an Amazon Machine Image(AMI). An AMI is a standard server operating system image with pre-selected applications. AMIs can be found at: http://developer.amazonwebservices.com/
connect/kbcategory.jspa?categoryID=171
Application development tightly integrated with Microsofts Visual Studio, in addition to having its own Software Development Kit (SDK)
http://go.microsoft.com/fwlink/?LinkID=128752
Free usage under CTP (Community Technology Preview), but limited to 2000 hours, 50 GB of persistent storage and 20GB/day bandwidth.
Application development open to any server-side development tool, compatible with industry standard server operating system.
www.dzone.com
lack of scalable data tier technology options, to service level agreements (e.g. uptime and indemnity) that can only be offered by large corporations the size of Amazon, Google and Microsoft. Nevertheless, some of these other cloud computing providers have carved out niche markets in the cloud computing market. Some do so by adopting more aggressive pricing structures, catering to the specific needs of certain communities (e.g. Ruby/Rails, or Linux), or providing better customer service than their larger rivals.
Assuming the data for a mailing list or report batch is already stored on a cloud computing platform: A conservative estimate of 1 day (24 hours) for processing and 5GB of outgoing bandwidth, would equal approximately $3.00 in cost from each of the previous cloud computing providers. As you can surely attest, at this price point its only such cloud computing providers that are able to offer dedicated resources at such competitive rates, especially compared to leasing your own hardware or using one of the many commercial hosting providers.
COSTS
Cloud computing platform costs are fairly competitive. However, some metrics used by providers are sufficiently different from others to make holistic cost comparisons difficult. For example, stored data can have added costs related to the number of Input/Output operations or transactions. Other aspects, like CPU consumption, can also vary in the form they are tallied by provider. The following table illustrates comparable resources and their associated costs in each cloud computing platform.
Resources Outgoing bandwidth (Gigabyte) Incoming bandwidth (Gigabyte) CPU time (hours) Stored data (Gigabytes per month) Recipients emailed (Recipients) Amazon EC2 (Small instance) $0.10 (Over 150 TB) ~$0.17(First 10 TB) $0.10 Google App Engine $0.12 $0.10 Microsoft Azure $0.15 $0.10
$0.085 (Unix/Linux)~ 0.12 (Windows) $0.10 (+ $0.10 per 1 million I/O requests N/A
$0.10 $0.15
$0.0001
Cost Calculators
For an accurate cost estimate pertaining to each cloud computing platform, I recommend you use the following calculators offered by each provider: Amazon EC2 http://calculator.s3.amazonaws.com/calc5.html
More information on Amazon EC2 Spot instances can be found at: http://aws.amazon.com/ec2/spot-instances/
Figure - Amazon EC2 spot pricing behavior
Scaling a web applications data tier entails a different approach than scaling its business logic and web tier. This is due to limitations and features pertaining to specific data tier technologies. Most web applications are underpinned by Relational Database Management Systems (RDBMS) that use Structured Query Language (SQL) as their access mechanism. Though a series of cloud computing platforms now offer RDBMS/SQL data tier support, many cloud computing platforms grew to address data tier demands for which RDBMS/SQL technology had limiting factors. Namely those pertaining to data mining and the complexities involved in providing fault-tolerant & high-availability RDBMS/SQL solutions.
www.dzone.com
Hot Tip
NoSQL movement The industry has blossomed healthy debates over the suitability of RDBMS/SQL vs. alternate data tier technologies for developing large scale web applications. Now often cataloged as the NoSQL movement http://en.wikipedia.org/wiki/nosql
Amazon Relational Database Service Provides data tier capabilities for deploying RDBMS/SQL web applications. Amazon Relational Database Service has the following characteristics: Out-of-the-box RDBMS/SQL capabilities built on MySQL. Scale and compute capacity managed through Amazon APIs. Automated backup and patch management.
Google App Engine Administrative console: Basic web console for managing Google App Engine.
https://appengine.google.com/
Google App Engine API: Googles App Engine development kit (SDK) includes an API to communicate remotely with Google App Engine servers. Python - http://code.google.com/appengine/docs/python/tools/ Java - http://code.google.com/appengine/docs/java/tools/ ) Microsoft Azure Microsofts Azure computing platform can be managed through the following means: Microsoft Azure Administrative console: Basic web console for managing Windows Azure instances.
https://windows.azure.com/Cloud/Provisioning/Default.aspx
Windows Azure API: Windows Azure development kit (SDK) includes an API to communicate remotely with Windows Azure servers.
http://msdn.microsoft.com/en-us/library/dd179367.aspx
Windows Azure Management Tool: Provides a desktop (i.e. fat-client) to communicate remotely with Windows Azure servers. http://code.msdn.microsoft.com/windowsazuremmc
Amazon CloudWatch: Advanced web console billed separately for determining resource utilization, operational performance, and demand metrics (e.g. CPU utilization, disk reads and writes, and network traffic).
http://aws.amazon.com/cloudwatch/
Amazon EC2 API: Web services API for inspecting and modifying EC2 instances from remote/custom applications.
http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/
Libcloud API: Python API for inspecting and modifying EC2 instances from remote/custom applications.
http://incubator.apache.org/libcloud/
Elasticfox & S3Fox browser plug-ins: Firefox plug-ins for managing EC2 instances & EC3 data. Elasticfox - http://developer.amazonwebservices.com/connect/entry.
jspa?externalID=609
S3Fox - http://developer.amazonwebservices.com/connect/entry.
jspa?externalID=771
Lifeguard: provides an automatic, Spring based monitoring solution to dynamically scale EC2 resources based on load.
http://code.google.com/p/lifeguard/issues/list
Google App Engine Googles App Engine computing platform can be managed through the following means:
DZone, Inc.
www.dzone.com
No custom domain SSL certificate support (i.e. https:// access). SSL is supported, but only routed via a domain in the form
https://your-app-id.appspot.com
Role based access mechanisms. Supported are Web roles as defined by ASP.NET and Worker roles for general purpose tasks.
Google Secure Data Connector (SDC) support. Allows data encryption between applications running on Google App Engine and a corporate network. Microsoft Azure security characteristics Access to underlying host provided entirely through Windows Live ID account, limiting a users security accountability. Windows host operating system instance with limited security accountability. Updates are performed automatically.
RECOMMENDED BOOK
This book is an industry-leading primer on cloud computing: its background, the purpose it serves, how the cloud can be best utilized, which platforms offer which features, and how to get started.
BUY NOW
books.dzone.com/books/cloud-computing
Bro
ugh
t to
you
by...
#8
z.co m
it ! V is arz
E: LUD IN C y TS bilit EN onsi NT esp CO of R in Cha and m Com reter rp Inte tor ... ore Itera tor dm dia d an Me rver tho se Me S Ob RN plate TTE Tem
n n n n n n n
ns tter Pa sign De
Cha in e of R ns spo ibil ity, con tinu ed
re le a que st an d th ndle e ha ue req r doe snt st w ith th e ha
one
e to th nce in fere ted k re s lis ctquic PA s, a es a bje ern IGN tt vid s, le O pro n pa DES sab iagram . UT fcard F) desig of Reu r ple s re ss d o ABO oke xam ents des cla ttern our (G Inv de h lem n Pa of F worl suc s: E inclu esig cts D ang attern real ern is D AN Th P obje enting 23 G patt , and a uct MM inal Design . Each m nd str tion ple CO orig ma k re con rma om ir im boo Softwa nt teC d to info the cre Clie the d Use om age nd Con () ns: d fr ente on, us ma ct cute Ori tter Com ) uple s obje nati ( +exe low l Pa eco is al rge cute ch xpla ona ed la e . Th s su . ati nb +exe bject nship form bjects Cre y ca an o tio e d to rate o d as ed rela ms, t th eate Use rith tha e tr ject bas . . ispa ns: lgo b to b er jects lly o g it stem tter many d ge a iv b sy win ona Pa ana allo traditi Rece en o ers. ral en uest ord to m betwe ctu twe req ndled in riant n. sa sed s Stru s be an . in va late catio e ha s: U ilitie psu at c invo to b llbacks es or cture the Enca quest s th ttern sponsib d ca stru nt tim lity. ling re g l Pa ship ng an tiona at varia the hand pose ssin func ueui tion iora , and re ject Pur led k roce to be ob av as q rela us p llbac be hand ed. y the Beh nships n be ed rono tionalit y need ject ed ca to from ch ne b d ca an tio You ne s need asyn func sts is couple ith o that st the rn the without n it is rela que ar ls w ate ips Reque y of re be de cilit d patte ssing entatio particul nsh or Dea e. ould ce Use to fa an r sh A hist pro implem ents its ting. n latio pe: pe used e comm voke for ec m Whe ntim s re al Sco ely toty The in exp th ueue actu d imple wid clas Pro ject ed at ru ue is are utilizing a job q of the ue C Ob ues with y e que the que g to en dg que s. B an en als xy . Job orithm be giv knowle that is terface Pro e ch : De e time g ct b n e in S r le of al ed ca to have d obje of the er mp cop pil rato ut an Exa serv nes ss S at com exec e queue comm Deco Ob confi S Cla e th B d the n . Th for de nge king leto ithin invo hm w Faca cha Sing od tory
n n n n
nd le a outc ay ha an tial hand sm hen oten ject le to . .W le p le ob tern ethod bject be ab tab pat ultip ecific o should cep n M this if the m up the s sp an ac d e ents ject ime. d is be a lem ks to se e passe de to of ob at runt handle imp b Use ec set til co t ld ch ges n A n ined being shou peats un paren ime ngua erm Whe not e la the runt or if it det ore s re uest som d tion proces e no m req g in metho cep n A e e ar a ndlin e ex ack th ther n ha rown in ndle th ll st until ptio th e ca Exce ion is sm to ha up th tered or ral un le cept echani passed avio co ex mp Beh . is en am Exa hen tion uest to has ack. W ject q cep st Ob e re e ex call le th nd th hand s to ha ct obje
ome.
Upcoming Titles
Blaze DS Domain Driven Design Virtualization Java Performance Tuning Expression Web Spring Web Flow BPEL
Most Popular
Spring Configuration jQuery Selectors Windows Powershell Dependency Injection with EJB 3 Netbeans IDE JavaEditor Getting Started with Eclipse Very First Steps in Flex
re f c
Download Now
a rd
Refcardz.com
Get
Mo
ef re R
.com
DZone, Inc. 140 Preston Executive Dr. Suite 100 Cary, NC 27513 888.678.0399 919.678.0300
50795
ww
z w. d
Me
diato m
Me
ento
Ob
or
ject
Beh
avio
ral
ES FR
PO
succ
ess
9 781934 238820
Version 1.0
Copyright 2010 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, 2 ler nt and Clie photocopying, or otherwise, without prior written permission ConcreteHqpublisher. of the uest ( )
ern
Con
cre
teH
and () uest
1 ler
+ha
ndle
re
hand
le a
req
uest
ki by lin
ng
ww
z w.d
one
.c o
$7.95
Build
er
Meth tory Fac t eigh Flyw ter rpre Inte B tor Itera
State
algo
rit
Stra