6023:
Another issue is that it may not be clear which of the method calls caused an exception, in particular if there are multiple calls to the same method. These issues can be overcome by breaking the statement into multiple lines which preserves readability while allowing the user to set breakpoints
144:
for the message passing, sending multiple data to the same object and allowing "manipulators" for other method calls. Other early examples include the Garnet system (from 1988 in Lisp) and the Amulet system (from 1994 in C++) which used this style for object creation and property assignment.
3370:
There are many places where fluent APIs can simplify how software is written and help create an API language that helps users be much more productive and comfortable with the API because the return value of a method always provides a context for further actions in that context.
4954:
It is however discouraged by the language’s creator, Guido van Rossum, and therefore considered unpythonic (not idiomatic) for operations that do not return new values. Van Rossum provides string processing operations as example where he sees the fluent pattern appropriate.
5598:
The benefit of this approach is that the interface can be used to create configurations of objects that can fork off from a particular point; Allowing two or more objects to share a certain amount of state, and be used further without interfering with each other.
5594:
semantics. In this variation of the pattern, instead of modifying internal properties and returning a reference to the same object, the object is instead cloned, with properties changed on the cloned object, and that object returned.
548:
Fluent interface can also be used to chain a set of method, which operates/shares the same object. Instead of creating a customer class, we can create a data context which can be decorated with fluent interface as follows.
5967:
Single-line chained statements may be more difficult to debug as debuggers may not be able to set breakpoints within the chain. Stepping through a single-line statement in a debugger may also be less convenient.
108:
Note that a "fluent interface" means more than just method cascading via chaining; it entails designing an interface that reads like a DSL, using other techniques like "nested functions and object scoping".
6483:
languages (C++, Java, C#, etc.) often have to override all methods from their superclass that participate in a fluent interface in order to change their return type. For example:
6923:, the latter with no content (it would only contain constructors if those were needed). The approach can easily be extended if we want to have sub-subclasses (etc.) too:
54:
77:(in languages that do not natively support cascading), concretely by having each method return the object to which it is attached, often referred to as
5951:
In typed languages, using a constructor requiring all parameters will fail at compilation time while the fluent approach will only be able to generate
3383:
probably being the most well known. Typically, fluent builders are used to implement "database queries", for example in the
Dynamite client library:
2876:
In the Java Swing API, the LayoutManager interface defines how
Container objects can have controlled Component placement. One of the more powerful
87:. Stated more abstractly, a fluent interface relays the instruction context of a subsequent call in method chaining, where generally the context is
6251:
by defining a new extension to wrap the desired logging functionality, for example in C# (using the same Java ByteBuffer example as above):
7615:
6085:
However, some debuggers always show the first line in the exception backtrace, although the exception has been thrown on any line.
959:$ "First name: {_context.FirstName} \nLast name: {_context.LastName} \nSex: {_context.Sex} \nAddress: {_context.Address}"
5936:// -> Kitten({ name: 'Salem', color: 'orange' }), Kitten({ name: 'Salem', color: 'black' })
2884:
class to specify how layout control occurs. A typical example of the use of this class is something like the following.
6674:
2779:
testing library EasyMock makes extensive use of this style of interface to provide an expressive programming interface.
8140:
117:
The term "fluent interface" was coined in late 2005, though this overall style of interface dates to the invention of
8248:
8165:
7490:
5952:
58:
42:
1206:
The following is an example of providing a fluent interface wrapper on top of a more traditional interface in C++:
1113:
94:
7588:
8113:
7938:
7737:
141:
7831:
158:
7507:
19:
This article is about the API design pattern. For the user interface introduced in
Microsoft Office 2007, see
7961:
7921:
7608:
7578:
7569:
6915:
Note that in order to be able to create instances of the parent class, we had to split it into two classes —
4944:
2501:
1105:
20:
7931:
7926:
5239:
3787:
8206:
8044:
4282:
79:
7533:
7257:
In a dependently typed language, e.g. Scala, methods can also be explicitly defined as always returning
4285:, there are many approaches, but one of the simplest is to declare attributes as read/write and use the
7821:
8029:
8024:
7851:
8069:
8034:
8001:
7651:
7601:
7451:
50:
7971:
7943:
7881:
7866:
7846:
7782:
7624:
7948:
7876:
7826:
7661:
2674:
1109:
39:
8227:
8130:
7976:
7956:
7901:
7583:
3179:
This creates a lot of code and makes it difficult to see what exactly is happening here. The
2670:
The fluflu annotation processor enables the creation of a fluent API using Java annotations.
8039:
7996:
7991:
7981:
7891:
7261:
and thus can be defined only once for subclasses to take advantage of the fluent interface:
1200:
31:
24:
8:
8079:
8064:
8059:
7916:
7801:
7747:
7561:
7494:
5955:
errors, missing all the type-safety checks of modern compilers. It also contradicts the "
6093:
Adding logging into the middle of a chain of fluent calls can be an issue. E.g., given:
5047:"""Indent the poem with the specified number of spaces."""
2677:
at runtime, making it possible to create type-safe fluent interfaces, i.e., instead of:
8201:
8180:
8089:
7986:
7836:
7729:
7681:
7643:
4510:
and three methods to set its name, surname and salary. Each return the instance of the
4022:// Don't draw anything, just return this, for child implementations to use fluently
7871:
7714:
7704:
7699:
7671:
7666:
7556:
6248:
2673:
The JaQue library enables Java 8 Lambdas to be represented as objects in the form of
3501:// example from https://schier.co/blog/2013/11/14/method-chaining-in-javascript.html
8170:
7911:
7856:
7777:
7767:
7757:
7752:
5956:
5587:
166:
118:
74:
165:
to build queries using "standard query operators". The implementation is based on
8160:
8106:
8084:
7861:
7816:
7787:
7762:
7742:
7689:
7656:
7632:
7573:
7466:
7461:
7456:
70:
46:
8145:
8006:
7709:
7694:
4846:# Create a new instance of the Employee class, Tom Smith, with a salary of 100:
4290:
3379:
There are many examples of JavaScript libraries that use some variant of this:
2237:// It doesn't make sense to chain after create(), so don't return *this
8242:
7966:
7811:
7772:
7719:
6480:
5591:
4506:
will make the method return the instance. The example below defines a class
8222:
8185:
8074:
8049:
7841:
7593:
2424:
An example of a fluent test expectation in the jMock testing framework is:
270:// Find translations for English words containing the letter "a",
5607:
Using copy-on-write semantics, the JavaScript example from above becomes:
1025:// Using the method chaining to assign & print data with a single line
125:
in the 1970s, and numerous examples in the 1980s. A common example is the
8175:
8150:
8135:
8054:
7886:
5116:"""Suffix the poem with the author name."""
3492:
A simple way to do this in JavaScript is using prototype inheritance and
2880:
implementations is the GridBagLayout class which requires the use of the
2776:
8155:
122:
101:
7579:
A tutorial for creating formal Java fluent APIs from a BNF notation
6024:
within the chain and to easily step through the code line by line:
4951:
in the instance method is one way to implement the fluent pattern.
1196:
126:
7566:
3380:
3183:
class provides a fluent mechanism, so you would instead write:
5246:
in the functions is one way to implement the fluent pattern.
3791:
1192:
1101:
130:
5946:
4293:
makes it much safer to write directly to public attributes.
4289:
keyword. The type annotations are optional, but the native
1097:
162:
4495:
3790:
supports a fluent syntax for both method calls and class
97:, where the new context is equivalent to the last context
6153:
method call, it is necessary to break the fluent calls:
3893:// Rendering methods that return this for fluent drawing
49:. Its goal is to increase code legibility by creating a
7562:
A Delphi example of writing XML with a fluent interface
6668:// This would fail if A.doThis() wasn't overridden.
6635:// This would work even without overriding A.doThis().
1112:
in a fluent style to construct its "constraint based"
7557:
Martin Fowler's original bliki entry coining the term
4502:
special variable which represent the instance. Hence
6247:
This can be worked around in languages that support
69:
A fluent interface is normally implemented by using
23:. For Microsoft's 2017 visual design language, see
91:
Defined through the return value of a called method
6677:can use it to avoid this difficulty. For example:
4498:, one can return the current object by using the
8240:
5962:
5228:' Road Not Travelled - Robert Frost'
7567:A .NET fluent validation library written in C#
273:// sorted by length and displayed in uppercase
7609:
4912:# Display the value of the Employee instance:
7623:
7486:
7484:
7482:
2504:library models SQL as a fluent API in Java:
402:// The same query constructed progressively:
21:Microsoft Office 2007 § User interface
7616:
7602:
7534:"[Python-Dev] sort() return value"
7479:
7440:// And, both method chains result in a B!
6673:Languages that are capable of expressing
5947:Errors cannot be captured at compile time
1191:A common use of the fluent interface in
16:Software engineering object-oriented API
6430:"First byte after rewind is "
6203:"First byte after rewind is "
161:uses fluent programming extensively in
8241:
7532:Rossum, Guido van (October 17, 2003).
7531:
53:(DSL). The term was coined in 2005 by
7597:
7401:// Chaining works in both directions.
5602:
3484:// data.result: the resulting object
100:Terminated through the return of a
45:whose design relies extensively on
13:
7589:Developing a fluent api is so cool
4345:# at least one non-space character
14:
8260:
7550:
7305:// returns this, and always this.
5959:" approach for error protection.
4514:class allowing to chain methods.
64:
6575:// Must change return type to B.
8114:Enterprise Integration Patterns
5590:fluent interfaces that utilise
5581:
3388:// getting an item from a table
710:// set the value for properties
7525:
7500:
5186:"Road Not Travelled"
2399:"My OpenGL/GLUT App"
1742:"My OpenGL/GLUT App"
1:
7472:
6474:
5963:Debugging and error reporting
3374:
1841:// Inherit parent constructor
929:// Prints the data to console
7:
8207:Portland Pattern Repository
7445:
5941:
554:// Defines the data context
148:
10:
8265:
7584:Fluent Interfaces are Evil
7508:"Interface Pack200.Packer"
6088:
5573:"I like turtles"
707:// Initializes the context
112:
18:
8215:
8194:
8123:
8098:
8015:
7900:
7800:
7728:
7680:
7642:
7631:
4938:
1676:// Set framebuffer params
8249:Software design patterns
7832:Event-based asynchronous
7625:Software design patterns
7452:Command-query separation
7263:
6925:
6679:
6485:
6253:
6155:
6095:
6026:
5970:
5609:
5586:It's possible to create
5498:
5248:
5233:
5216:"Robert Frost"
5174:
4957:
4516:
4295:
3800:
3782:
3498:
3385:
3185:
2886:
2781:
2728:
2679:
2506:
2426:
1208:
1118:
551:
171:
51:domain-specific language
7738:Chain of responsibility
4276:
3798:keyword. For example:
3794:, using traits and the
2419:
7877:Scheduled-task pattern
7827:Double-checked locking
7326:// No override needed!
4489:
1186:
8228:Architectural pattern
8131:Christopher Alexander
7108:"unchecked"
6982:"unchecked"
6721:"unchecked"
1076:"bangalore"
1052:"srivastav"
153:
8040:Dependency injection
7997:Inversion of control
7992:Data transfer object
7892:Thread-local storage
6675:F-bound polymorphism
6262:ByteBufferExtensions
6145:To log the state of
3403:'user-table'
2859:NullPointerException
1703:// Set window params
1201:overloaded operators
32:software engineering
25:Fluent Design System
8045:Intercepting filter
7497:", 20 December 2005
4777:'Surname: '
4412:Surname: $ .surname
1211:// Basic definition
1104:uses a mix of C#'s
246:"poisson"
8202:The Hillside Group
7987:Data access object
7837:Guarded suspension
7822:Binding properties
7572:2017-12-23 at the
5642:'Garfield'
5603:JavaScript example
4807:'Salary: '
4415:Salary: $ .salary
3534:'Garfield'
3123:GridBagConstraints
3057:GridBagConstraints
3003:GridBagConstraints
2991:GridBagConstraints
2882:GridBagConstraints
2530:"author"
1100:testing framework
1004:// Object creation
261:"oiseau"
8236:
8235:
8030:Business delegate
7962:Publish–subscribe
7796:
7795:
7102:@SuppressWarnings
6976:@SuppressWarnings
6715:@SuppressWarnings
6249:extension methods
5437:discardableResult
5377:discardableResult
5317:discardableResult
3248:"Name:"
2961:"Name:"
2489:"howdy"
2477:"hello"
2147:setWindowPosition
1763:// Fluent wrapper
1712:setWindowPosition
1475:setWindowPosition
1040:"vinod"
231:"chien"
167:extension methods
133:, which uses the
8256:
8035:Composite entity
7912:Front controller
7652:Abstract factory
7640:
7639:
7618:
7611:
7604:
7595:
7594:
7544:
7543:
7541:
7540:
7529:
7523:
7522:
7520:
7518:
7504:
7498:
7488:
7441:
7438:
7435:
7432:
7429:
7426:
7423:
7420:
7417:
7414:
7411:
7408:
7405:
7402:
7399:
7396:
7393:
7390:
7387:
7384:
7381:
7378:
7375:
7372:
7369:
7366:
7363:
7360:
7357:
7354:
7351:
7348:
7345:
7342:
7339:
7336:
7333:
7330:
7327:
7324:
7321:
7318:
7315:
7312:
7309:
7306:
7303:
7300:
7297:
7294:
7291:
7288:
7285:
7282:
7279:
7276:
7273:
7270:
7267:
7260:
7253:
7250:
7247:
7244:
7241:
7238:
7235:
7232:
7229:
7226:
7223:
7220:
7217:
7214:
7211:
7208:
7205:
7202:
7199:
7196:
7193:
7190:
7187:
7184:
7181:
7178:
7175:
7172:
7169:
7166:
7163:
7160:
7157:
7154:
7151:
7148:
7145:
7142:
7139:
7136:
7133:
7130:
7127:
7124:
7121:
7118:
7115:
7112:
7109:
7106:
7103:
7100:
7097:
7094:
7091:
7088:
7085:
7082:
7079:
7076:
7073:
7070:
7067:
7064:
7061:
7058:
7055:
7052:
7049:
7046:
7043:
7040:
7037:
7034:
7031:
7028:
7025:
7022:
7019:
7016:
7013:
7010:
7007:
7004:
7001:
6998:
6995:
6992:
6989:
6986:
6983:
6980:
6977:
6974:
6971:
6968:
6965:
6962:
6959:
6956:
6953:
6950:
6947:
6944:
6941:
6938:
6935:
6932:
6929:
6922:
6918:
6911:
6908:
6905:
6902:
6899:
6896:
6893:
6890:
6887:
6884:
6881:
6878:
6875:
6872:
6869:
6866:
6863:
6860:
6857:
6854:
6851:
6848:
6845:
6842:
6839:
6836:
6833:
6830:
6827:
6824:
6821:
6818:
6815:
6812:
6809:
6806:
6803:
6800:
6797:
6794:
6791:
6788:
6785:
6782:
6779:
6776:
6773:
6770:
6767:
6764:
6761:
6758:
6755:
6752:
6749:
6746:
6743:
6740:
6737:
6734:
6731:
6728:
6725:
6722:
6719:
6716:
6713:
6710:
6707:
6704:
6701:
6698:
6695:
6692:
6689:
6686:
6683:
6669:
6666:
6663:
6660:
6657:
6654:
6651:
6648:
6645:
6642:
6639:
6636:
6633:
6630:
6627:
6624:
6621:
6618:
6615:
6612:
6609:
6606:
6603:
6600:
6597:
6594:
6591:
6588:
6585:
6582:
6579:
6576:
6573:
6570:
6567:
6564:
6561:
6558:
6555:
6552:
6549:
6546:
6543:
6540:
6537:
6534:
6531:
6528:
6525:
6522:
6519:
6516:
6513:
6510:
6507:
6504:
6501:
6498:
6495:
6492:
6489:
6470:
6467:
6464:
6461:
6458:
6455:
6452:
6449:
6446:
6443:
6440:
6437:
6434:
6431:
6428:
6425:
6422:
6419:
6416:
6413:
6410:
6407:
6404:
6401:
6398:
6395:
6392:
6389:
6386:
6383:
6380:
6377:
6374:
6371:
6368:
6365:
6362:
6359:
6356:
6353:
6350:
6347:
6344:
6341:
6338:
6335:
6332:
6329:
6326:
6323:
6320:
6317:
6314:
6311:
6308:
6305:
6302:
6299:
6296:
6293:
6290:
6287:
6284:
6281:
6278:
6275:
6272:
6269:
6266:
6263:
6260:
6257:
6243:
6240:
6237:
6234:
6231:
6228:
6225:
6222:
6219:
6216:
6213:
6210:
6207:
6204:
6201:
6198:
6195:
6192:
6189:
6186:
6183:
6180:
6177:
6174:
6171:
6168:
6165:
6162:
6159:
6152:
6148:
6141:
6138:
6135:
6132:
6129:
6126:
6123:
6120:
6117:
6114:
6111:
6108:
6105:
6102:
6099:
6081:
6078:
6075:
6072:
6069:
6066:
6063:
6060:
6057:
6054:
6051:
6048:
6045:
6042:
6039:
6036:
6033:
6030:
6019:
6016:
6013:
6010:
6007:
6004:
6001:
5998:
5995:
5992:
5989:
5986:
5983:
5980:
5977:
5974:
5937:
5934:
5931:
5928:
5925:
5922:
5919:
5916:
5913:
5910:
5907:
5904:
5901:
5898:
5895:
5892:
5889:
5886:
5883:
5880:
5877:
5874:
5871:
5868:
5865:
5862:
5859:
5856:
5853:
5850:
5847:
5844:
5841:
5838:
5835:
5832:
5829:
5826:
5823:
5820:
5817:
5814:
5811:
5808:
5805:
5802:
5799:
5796:
5793:
5790:
5787:
5784:
5781:
5778:
5775:
5772:
5769:
5766:
5763:
5760:
5757:
5754:
5751:
5748:
5745:
5742:
5739:
5736:
5733:
5730:
5727:
5724:
5721:
5718:
5715:
5712:
5709:
5706:
5703:
5700:
5697:
5694:
5691:
5688:
5685:
5682:
5679:
5676:
5673:
5670:
5667:
5664:
5661:
5660:'orange'
5658:
5655:
5652:
5649:
5646:
5643:
5640:
5637:
5634:
5631:
5628:
5625:
5622:
5619:
5616:
5613:
5577:
5574:
5571:
5568:
5565:
5562:
5559:
5556:
5553:
5550:
5547:
5544:
5541:
5538:
5535:
5532:
5531:"John"
5529:
5526:
5523:
5520:
5517:
5514:
5511:
5508:
5505:
5502:
5495:
5492:
5489:
5486:
5483:
5480:
5477:
5474:
5471:
5468:
5465:
5462:
5459:
5456:
5453:
5450:
5447:
5444:
5441:
5438:
5435:
5432:
5429:
5426:
5423:
5420:
5417:
5414:
5411:
5408:
5405:
5402:
5399:
5396:
5393:
5390:
5387:
5384:
5381:
5378:
5375:
5372:
5369:
5366:
5363:
5360:
5357:
5354:
5351:
5348:
5345:
5342:
5339:
5336:
5333:
5330:
5327:
5324:
5321:
5318:
5315:
5312:
5309:
5306:
5303:
5300:
5297:
5294:
5291:
5288:
5285:
5282:
5279:
5276:
5273:
5270:
5267:
5264:
5261:
5258:
5255:
5252:
5245:
5229:
5226:
5223:
5220:
5217:
5214:
5211:
5208:
5205:
5202:
5199:
5196:
5193:
5190:
5187:
5184:
5181:
5178:
5171:
5168:
5165:
5162:
5159:
5156:
5153:
5150:
5147:
5144:
5141:
5138:
5135:
5132:
5129:
5126:
5123:
5120:
5117:
5114:
5111:
5108:
5105:
5102:
5099:
5096:
5093:
5090:
5087:
5084:
5081:
5078:
5075:
5072:
5069:
5066:
5063:
5060:
5057:
5054:
5051:
5048:
5045:
5042:
5039:
5036:
5033:
5030:
5027:
5024:
5021:
5018:
5015:
5012:
5009:
5006:
5003:
5000:
4997:
4994:
4991:
4988:
4985:
4982:
4979:
4976:
4973:
4970:
4967:
4964:
4961:
4950:
4934:
4931:
4930:# Surname: Smith
4928:
4925:
4922:
4919:
4916:
4913:
4910:
4907:
4904:
4901:
4898:
4895:
4892:
4889:
4886:
4883:
4880:
4877:
4874:
4871:
4868:
4865:
4862:
4859:
4856:
4853:
4850:
4847:
4844:
4841:
4838:
4835:
4832:
4829:
4826:
4823:
4820:
4817:
4814:
4811:
4808:
4805:
4802:
4799:
4796:
4793:
4790:
4787:
4784:
4781:
4778:
4775:
4772:
4769:
4766:
4763:
4760:
4757:
4754:
4751:
4748:
4747:'Name: '
4745:
4742:
4739:
4736:
4733:
4730:
4727:
4724:
4721:
4718:
4715:
4712:
4709:
4706:
4703:
4700:
4697:
4694:
4691:
4688:
4685:
4682:
4679:
4676:
4673:
4670:
4667:
4664:
4661:
4658:
4655:
4652:
4649:
4646:
4643:
4640:
4637:
4634:
4631:
4628:
4625:
4622:
4619:
4616:
4613:
4610:
4607:
4604:
4601:
4598:
4595:
4592:
4589:
4586:
4583:
4580:
4577:
4574:
4571:
4568:
4565:
4562:
4559:
4556:
4553:
4550:
4547:
4544:
4541:
4538:
4535:
4532:
4529:
4526:
4523:
4520:
4513:
4509:
4505:
4501:
4485:
4482:
4479:
4478:# Name: Sally
4476:
4472:
4469:
4465:
4461:
4457:
4453:
4449:
4445:
4441:
4438:
4434:
4430:
4426:
4423:
4419:
4416:
4413:
4410:
4409:Name: $ .name
4407:
4404:
4400:
4397:
4393:
4390:
4387:
4384:
4381:
4377:
4374:
4371:
4368:
4365:
4361:
4358:
4355:
4352:
4349:
4346:
4342:
4338:
4335:
4332:
4329:
4326:
4322:
4318:
4315:
4312:
4309:
4306:
4302:
4299:
4288:
4272:
4269:
4266:
4263:
4260:
4257:
4254:
4251:
4248:
4245:
4242:
4239:
4236:
4233:
4230:
4227:
4224:
4221:
4218:
4215:
4212:
4209:
4206:
4203:
4200:
4197:
4194:
4191:
4188:
4185:
4182:
4179:
4176:
4173:
4170:
4167:
4164:
4161:
4158:
4155:
4152:
4149:
4146:
4143:
4140:
4137:
4134:
4131:
4128:
4125:
4122:
4119:
4116:
4113:
4110:
4107:
4104:
4101:
4098:
4095:
4092:
4089:
4086:
4083:
4080:
4077:
4074:
4071:
4068:
4065:
4062:
4059:
4056:
4053:
4050:
4047:
4044:
4041:
4038:
4035:
4032:
4029:
4026:
4023:
4020:
4017:
4014:
4011:
4008:
4005:
4002:
3999:
3996:
3993:
3990:
3987:
3984:
3981:
3978:
3975:
3972:
3969:
3966:
3963:
3960:
3957:
3954:
3951:
3948:
3945:
3942:
3939:
3936:
3933:
3930:
3927:
3924:
3921:
3918:
3915:
3912:
3909:
3906:
3903:
3900:
3897:
3894:
3891:
3888:
3885:
3882:
3879:
3876:
3873:
3870:
3867:
3864:
3861:
3858:
3855:
3852:
3849:
3846:
3843:
3840:
3837:
3834:
3831:
3828:
3825:
3822:
3819:
3816:
3813:
3810:
3807:
3804:
3797:
3778:
3775:
3772:
3769:
3766:
3763:
3760:
3757:
3754:
3751:
3748:
3745:
3742:
3739:
3736:
3733:
3730:
3727:
3724:
3721:
3718:
3715:
3712:
3709:
3706:
3703:
3700:
3697:
3694:
3691:
3688:
3685:
3682:
3679:
3676:
3673:
3670:
3667:
3664:
3661:
3658:
3655:
3652:
3649:
3646:
3643:
3640:
3637:
3634:
3631:
3628:
3625:
3622:
3619:
3616:
3613:
3610:
3607:
3604:
3601:
3598:
3595:
3592:
3589:
3586:
3583:
3580:
3577:
3574:
3571:
3568:
3565:
3562:
3559:
3556:
3553:
3552:'orange'
3550:
3547:
3544:
3541:
3538:
3535:
3532:
3529:
3526:
3523:
3520:
3517:
3514:
3511:
3508:
3505:
3502:
3495:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3458:
3455:
3452:
3449:
3446:
3443:
3440:
3439:'column'
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3418:'userId'
3416:
3413:
3410:
3407:
3404:
3401:
3398:
3395:
3392:
3389:
3366:
3363:
3360:
3357:
3354:
3351:
3348:
3345:
3342:
3339:
3336:
3333:
3330:
3327:
3324:
3321:
3318:
3315:
3312:
3309:
3306:
3303:
3300:
3297:
3294:
3291:
3288:
3285:
3282:
3279:
3276:
3273:
3270:
3267:
3264:
3261:
3258:
3255:
3252:
3249:
3246:
3243:
3240:
3237:
3234:
3231:
3228:
3225:
3222:
3219:
3216:
3213:
3210:
3207:
3204:
3201:
3198:
3195:
3192:
3189:
3182:
3175:
3172:
3169:
3166:
3163:
3160:
3157:
3154:
3151:
3148:
3145:
3142:
3139:
3136:
3133:
3130:
3127:
3124:
3121:
3118:
3115:
3112:
3109:
3106:
3103:
3100:
3097:
3094:
3091:
3088:
3085:
3082:
3079:
3076:
3073:
3070:
3067:
3064:
3061:
3058:
3055:
3052:
3049:
3046:
3043:
3040:
3037:
3034:
3031:
3028:
3025:
3022:
3019:
3016:
3013:
3010:
3007:
3004:
3001:
2998:
2995:
2992:
2989:
2986:
2983:
2980:
2977:
2974:
2971:
2968:
2965:
2962:
2959:
2956:
2953:
2950:
2947:
2944:
2941:
2938:
2935:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2883:
2879:
2872:
2869:
2866:
2863:
2860:
2857:
2854:
2851:
2848:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2797:
2794:
2791:
2788:
2785:
2771:
2768:
2767:"John"
2765:
2762:
2759:
2756:
2753:
2750:
2747:
2744:
2741:
2738:
2735:
2732:
2722:
2719:
2718:"John"
2716:
2713:
2710:
2707:
2706:"name"
2704:
2701:
2698:
2695:
2692:
2689:
2686:
2683:
2675:expression trees
2666:
2663:
2660:
2657:
2654:
2651:
2648:
2645:
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2588:
2585:
2582:
2579:
2576:
2573:
2570:
2567:
2564:
2561:
2558:
2555:
2552:
2549:
2546:
2543:
2540:
2537:
2534:
2531:
2528:
2525:
2522:
2519:
2516:
2513:
2510:
2496:
2493:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2469:
2466:
2463:
2460:
2457:
2454:
2451:
2448:
2445:
2442:
2439:
2436:
2433:
2430:
2415:
2412:
2409:
2406:
2403:
2400:
2397:
2394:
2391:
2388:
2385:
2382:
2379:
2376:
2373:
2370:
2367:
2364:
2361:
2358:
2355:
2352:
2349:
2346:
2343:
2340:
2337:
2334:
2331:
2328:
2327:withDoubleBuffer
2325:
2322:
2319:
2316:
2313:
2310:
2307:
2304:
2301:
2298:
2295:
2292:
2289:
2286:
2283:
2280:
2277:
2274:
2271:
2268:
2265:
2262:
2259:
2256:
2253:
2250:
2247:
2244:
2241:
2238:
2235:
2232:
2229:
2226:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2169:
2166:
2163:
2160:
2157:
2154:
2151:
2148:
2145:
2142:
2139:
2136:
2133:
2130:
2127:
2124:
2121:
2118:
2115:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1977:
1974:
1971:
1968:
1965:
1962:
1959:
1956:
1953:
1950:
1947:
1944:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1920:
1917:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1866:
1863:
1860:
1857:
1854:
1851:
1850:withDoubleBuffer
1848:
1845:
1842:
1839:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1809:
1806:
1803:
1800:
1797:
1794:
1791:
1788:
1785:
1782:
1779:
1776:
1773:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1701:
1698:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1605:
1602:
1599:
1596:
1593:
1590:
1587:
1584:
1581:
1578:
1575:
1572:
1569:
1566:
1563:
1560:
1557:
1554:
1551:
1548:
1545:
1542:
1539:
1536:
1533:
1530:
1527:
1524:
1521:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1350:
1347:
1344:
1341:
1338:
1335:
1332:
1329:
1326:
1323:
1320:
1317:
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
1215:
1212:
1195:is the standard
1182:
1179:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1064:"male"
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
666:
663:
660:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
409:
406:
403:
400:
397:
394:
391:
388:
385:
382:
379:
376:
373:
370:
367:
364:
361:
358:
355:
352:
349:
346:
343:
340:
337:
334:
331:
328:
325:
322:
319:
316:
313:
310:
307:
304:
301:
298:
295:
292:
289:
286:
283:
280:
277:
274:
271:
268:
265:
262:
259:
256:
255:"bird"
253:
250:
247:
244:
241:
240:"fish"
238:
235:
232:
229:
226:
223:
220:
217:
216:"chat"
214:
211:
208:
205:
202:
199:
196:
193:
190:
187:
184:
181:
178:
175:
140:
136:
119:method cascading
95:Self-referential
86:
82:
75:method cascading
36:fluent interface
8264:
8263:
8259:
8258:
8257:
8255:
8254:
8253:
8239:
8238:
8237:
8232:
8211:
8190:
8181:Douglas Schmidt
8161:Ward Cunningham
8119:
8107:Design Patterns
8094:
8085:Method chaining
8017:
8011:
7972:Service locator
7903:
7896:
7867:Read–write lock
7803:
7792:
7783:Template method
7724:
7676:
7634:
7627:
7622:
7574:Wayback Machine
7553:
7548:
7547:
7538:
7536:
7530:
7526:
7516:
7514:
7506:
7505:
7501:
7495:FluentInterface
7489:
7480:
7475:
7467:Pipeline (Unix)
7462:Named parameter
7457:Method chaining
7448:
7443:
7442:
7439:
7436:
7433:
7430:
7427:
7424:
7421:
7418:
7415:
7412:
7409:
7406:
7403:
7400:
7397:
7394:
7391:
7388:
7385:
7382:
7379:
7376:
7373:
7370:
7367:
7364:
7361:
7358:
7355:
7352:
7349:
7346:
7343:
7340:
7337:
7334:
7331:
7328:
7325:
7322:
7319:
7316:
7313:
7310:
7307:
7304:
7301:
7298:
7295:
7292:
7289:
7286:
7283:
7280:
7277:
7274:
7271:
7268:
7265:
7258:
7255:
7254:
7252:// Still works.
7251:
7248:
7245:
7242:
7239:
7236:
7233:
7230:
7227:
7224:
7221:
7218:
7215:
7212:
7209:
7206:
7203:
7200:
7197:
7194:
7191:
7188:
7185:
7182:
7179:
7176:
7173:
7170:
7167:
7164:
7161:
7158:
7155:
7152:
7149:
7146:
7143:
7140:
7137:
7134:
7131:
7128:
7125:
7122:
7119:
7116:
7113:
7110:
7107:
7104:
7101:
7098:
7095:
7092:
7089:
7086:
7083:
7080:
7077:
7074:
7071:
7068:
7065:
7062:
7059:
7056:
7053:
7050:
7047:
7044:
7041:
7038:
7035:
7032:
7029:
7026:
7023:
7020:
7017:
7014:
7011:
7008:
7005:
7002:
6999:
6996:
6993:
6990:
6987:
6984:
6981:
6978:
6975:
6972:
6969:
6966:
6963:
6960:
6957:
6954:
6951:
6948:
6945:
6942:
6939:
6936:
6933:
6930:
6927:
6920:
6916:
6913:
6912:
6909:
6906:
6903:
6900:
6897:
6894:
6891:
6888:
6885:
6882:
6879:
6876:
6873:
6870:
6867:
6864:
6861:
6858:
6855:
6852:
6849:
6846:
6843:
6840:
6837:
6834:
6831:
6828:
6825:
6822:
6819:
6816:
6813:
6810:
6807:
6804:
6801:
6798:
6795:
6792:
6789:
6786:
6783:
6780:
6777:
6774:
6771:
6768:
6765:
6762:
6759:
6756:
6753:
6750:
6747:
6744:
6741:
6738:
6735:
6732:
6729:
6726:
6723:
6720:
6717:
6714:
6711:
6708:
6705:
6702:
6699:
6696:
6693:
6690:
6687:
6684:
6681:
6671:
6670:
6667:
6664:
6661:
6658:
6655:
6652:
6649:
6646:
6643:
6640:
6637:
6634:
6631:
6628:
6625:
6622:
6619:
6616:
6613:
6610:
6607:
6604:
6601:
6598:
6595:
6592:
6589:
6586:
6583:
6580:
6577:
6574:
6571:
6568:
6565:
6562:
6559:
6556:
6553:
6550:
6547:
6544:
6541:
6538:
6535:
6532:
6529:
6526:
6523:
6520:
6517:
6514:
6511:
6508:
6505:
6502:
6499:
6496:
6493:
6490:
6487:
6477:
6472:
6471:
6468:
6465:
6462:
6459:
6456:
6453:
6450:
6447:
6444:
6441:
6438:
6435:
6432:
6429:
6426:
6423:
6420:
6417:
6414:
6411:
6408:
6405:
6402:
6399:
6396:
6393:
6390:
6387:
6384:
6381:
6378:
6375:
6372:
6369:
6366:
6363:
6360:
6357:
6354:
6351:
6348:
6345:
6342:
6339:
6336:
6333:
6330:
6327:
6324:
6321:
6318:
6315:
6312:
6309:
6306:
6303:
6300:
6297:
6294:
6291:
6288:
6285:
6282:
6279:
6276:
6273:
6270:
6267:
6264:
6261:
6258:
6255:
6245:
6244:
6241:
6238:
6235:
6232:
6229:
6226:
6223:
6220:
6217:
6214:
6211:
6208:
6205:
6202:
6199:
6196:
6193:
6190:
6187:
6184:
6181:
6178:
6175:
6172:
6169:
6166:
6163:
6160:
6157:
6150:
6146:
6143:
6142:
6139:
6136:
6133:
6130:
6127:
6124:
6121:
6118:
6115:
6112:
6109:
6106:
6103:
6100:
6097:
6091:
6083:
6082:
6079:
6076:
6073:
6070:
6067:
6064:
6061:
6058:
6055:
6052:
6049:
6046:
6043:
6040:
6037:
6034:
6031:
6028:
6021:
6020:
6017:
6014:
6011:
6008:
6005:
6002:
5999:
5996:
5993:
5990:
5987:
5984:
5981:
5978:
5975:
5972:
5965:
5949:
5944:
5939:
5938:
5935:
5932:
5929:
5926:
5923:
5920:
5917:
5914:
5911:
5908:
5906:'black'
5905:
5902:
5899:
5896:
5893:
5890:
5887:
5884:
5881:
5879:'Salem'
5878:
5875:
5872:
5869:
5866:
5863:
5860:
5857:
5854:
5851:
5848:
5845:
5842:
5839:
5836:
5833:
5830:
5827:
5824:
5821:
5818:
5815:
5812:
5809:
5806:
5803:
5800:
5797:
5794:
5791:
5788:
5785:
5782:
5779:
5776:
5773:
5770:
5767:
5764:
5761:
5758:
5755:
5752:
5749:
5746:
5743:
5740:
5737:
5734:
5731:
5728:
5725:
5722:
5719:
5716:
5713:
5710:
5707:
5704:
5701:
5698:
5695:
5692:
5689:
5686:
5683:
5680:
5677:
5674:
5671:
5668:
5665:
5662:
5659:
5656:
5653:
5650:
5647:
5644:
5641:
5638:
5635:
5632:
5629:
5626:
5623:
5620:
5617:
5614:
5611:
5605:
5584:
5579:
5578:
5575:
5572:
5569:
5566:
5563:
5560:
5557:
5554:
5552:"Doe"
5551:
5548:
5545:
5542:
5539:
5536:
5533:
5530:
5527:
5524:
5521:
5518:
5515:
5512:
5509:
5506:
5503:
5500:
5497:
5496:
5493:
5490:
5487:
5484:
5481:
5478:
5475:
5472:
5469:
5466:
5463:
5460:
5457:
5454:
5451:
5448:
5445:
5442:
5439:
5436:
5433:
5430:
5427:
5424:
5421:
5418:
5415:
5412:
5409:
5406:
5403:
5400:
5397:
5394:
5391:
5388:
5385:
5382:
5379:
5376:
5373:
5370:
5367:
5364:
5361:
5358:
5355:
5352:
5349:
5346:
5343:
5340:
5337:
5334:
5331:
5328:
5325:
5322:
5319:
5316:
5313:
5310:
5307:
5304:
5301:
5298:
5295:
5292:
5289:
5286:
5283:
5280:
5277:
5274:
5271:
5268:
5265:
5262:
5259:
5256:
5253:
5250:
5243:
5242:3.0+ returning
5236:
5231:
5230:
5227:
5224:
5221:
5218:
5215:
5212:
5209:
5206:
5203:
5200:
5197:
5194:
5191:
5188:
5185:
5182:
5179:
5176:
5173:
5172:
5169:
5166:
5163:
5160:
5157:
5154:
5151:
5148:
5145:
5142:
5139:
5136:
5133:
5130:
5127:
5124:
5121:
5118:
5115:
5112:
5109:
5106:
5103:
5100:
5097:
5094:
5091:
5088:
5085:
5082:
5079:
5076:
5073:
5070:
5067:
5064:
5061:
5058:
5055:
5052:
5049:
5046:
5043:
5040:
5037:
5034:
5031:
5028:
5025:
5022:
5019:
5016:
5013:
5010:
5007:
5004:
5001:
4998:
4995:
4992:
4989:
4986:
4983:
4980:
4977:
4974:
4971:
4968:
4965:
4962:
4959:
4948:
4941:
4936:
4935:
4932:
4929:
4926:
4923:
4920:
4917:
4914:
4911:
4908:
4905:
4902:
4899:
4896:
4893:
4891:'Smith'
4890:
4887:
4884:
4881:
4878:
4875:
4872:
4869:
4866:
4863:
4860:
4857:
4854:
4851:
4848:
4845:
4842:
4839:
4836:
4833:
4830:
4827:
4824:
4821:
4818:
4815:
4812:
4809:
4806:
4803:
4800:
4797:
4794:
4791:
4788:
4785:
4782:
4779:
4776:
4773:
4770:
4767:
4764:
4761:
4758:
4755:
4752:
4749:
4746:
4743:
4740:
4737:
4734:
4731:
4728:
4725:
4722:
4719:
4716:
4713:
4710:
4707:
4704:
4701:
4698:
4695:
4692:
4689:
4686:
4683:
4680:
4677:
4674:
4671:
4668:
4665:
4662:
4659:
4656:
4653:
4650:
4647:
4644:
4641:
4638:
4635:
4632:
4629:
4626:
4623:
4620:
4617:
4614:
4611:
4608:
4605:
4602:
4599:
4596:
4593:
4590:
4587:
4584:
4581:
4578:
4575:
4572:
4569:
4566:
4563:
4560:
4557:
4554:
4551:
4548:
4545:
4542:
4539:
4536:
4533:
4530:
4527:
4524:
4521:
4518:
4511:
4507:
4503:
4499:
4492:
4487:
4486:
4483:
4481:# Surname: Ride
4480:
4477:
4474:
4470:
4467:
4463:
4459:
4455:
4451:
4448:'Sally'
4447:
4443:
4439:
4436:
4432:
4428:
4424:
4421:
4417:
4414:
4411:
4408:
4405:
4402:
4398:
4395:
4391:
4388:
4385:
4382:
4379:
4375:
4372:
4369:
4366:
4363:
4359:
4356:
4353:
4350:
4347:
4344:
4340:
4336:
4333:
4330:
4327:
4324:
4320:
4316:
4313:
4310:
4307:
4304:
4300:
4297:
4286:
4279:
4274:
4273:
4270:
4267:
4264:
4261:
4258:
4255:
4252:
4249:
4246:
4243:
4240:
4237:
4234:
4231:
4228:
4225:
4222:
4219:
4216:
4213:
4210:
4207:
4204:
4201:
4198:
4195:
4192:
4189:
4186:
4183:
4180:
4177:
4174:
4171:
4168:
4165:
4162:
4159:
4156:
4153:
4150:
4147:
4144:
4141:
4138:
4135:
4132:
4129:
4126:
4123:
4120:
4117:
4114:
4111:
4108:
4105:
4102:
4099:
4096:
4093:
4090:
4087:
4084:
4081:
4078:
4075:
4072:
4069:
4066:
4063:
4060:
4057:
4054:
4051:
4048:
4045:
4042:
4039:
4036:
4033:
4030:
4027:
4024:
4021:
4018:
4015:
4012:
4009:
4006:
4003:
4000:
3997:
3994:
3991:
3988:
3985:
3982:
3979:
3976:
3973:
3970:
3967:
3964:
3961:
3958:
3955:
3952:
3949:
3946:
3943:
3940:
3937:
3934:
3931:
3928:
3925:
3922:
3919:
3916:
3913:
3910:
3907:
3904:
3901:
3898:
3895:
3892:
3889:
3886:
3883:
3880:
3877:
3874:
3871:
3868:
3865:
3862:
3859:
3856:
3853:
3850:
3847:
3844:
3841:
3838:
3835:
3832:
3829:
3826:
3823:
3820:
3817:
3814:
3811:
3808:
3805:
3802:
3795:
3785:
3780:
3779:
3776:
3773:
3770:
3767:
3765:'black'
3764:
3761:
3758:
3755:
3752:
3750:'Salem'
3749:
3746:
3743:
3740:
3737:
3734:
3731:
3728:
3725:
3722:
3719:
3716:
3713:
3710:
3707:
3704:
3701:
3698:
3695:
3692:
3689:
3686:
3683:
3680:
3677:
3674:
3671:
3668:
3665:
3662:
3659:
3656:
3653:
3650:
3647:
3644:
3641:
3638:
3635:
3632:
3629:
3626:
3623:
3620:
3617:
3614:
3611:
3608:
3605:
3602:
3599:
3596:
3593:
3590:
3587:
3584:
3581:
3578:
3575:
3572:
3569:
3566:
3563:
3560:
3557:
3554:
3551:
3548:
3545:
3542:
3539:
3536:
3533:
3530:
3527:
3524:
3521:
3518:
3515:
3512:
3509:
3506:
3503:
3500:
3493:
3490:
3489:
3486:
3483:
3480:
3477:
3474:
3471:
3468:
3465:
3462:
3459:
3456:
3453:
3450:
3447:
3444:
3441:
3438:
3435:
3432:
3429:
3426:
3424:'userA'
3423:
3420:
3417:
3414:
3411:
3408:
3405:
3402:
3399:
3396:
3393:
3390:
3387:
3377:
3368:
3367:
3364:
3361:
3358:
3355:
3352:
3349:
3346:
3343:
3340:
3337:
3334:
3331:
3328:
3325:
3322:
3319:
3316:
3313:
3310:
3307:
3304:
3301:
3298:
3295:
3292:
3289:
3286:
3283:
3280:
3277:
3274:
3271:
3268:
3265:
3262:
3259:
3256:
3253:
3250:
3247:
3244:
3241:
3238:
3235:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3199:
3196:
3193:
3190:
3187:
3180:
3177:
3176:
3173:
3170:
3167:
3164:
3161:
3158:
3155:
3152:
3149:
3146:
3143:
3140:
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3113:
3110:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3071:
3068:
3065:
3062:
3059:
3056:
3053:
3050:
3047:
3044:
3041:
3038:
3035:
3032:
3029:
3026:
3023:
3020:
3017:
3014:
3011:
3008:
3005:
3002:
2999:
2996:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2966:
2963:
2960:
2957:
2954:
2951:
2948:
2945:
2942:
2939:
2936:
2933:
2930:
2927:
2924:
2921:
2918:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2891:
2888:
2881:
2877:
2874:
2873:
2870:
2867:
2864:
2861:
2858:
2855:
2852:
2849:
2846:
2843:
2840:
2837:
2834:
2831:
2828:
2825:
2822:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2795:
2792:
2789:
2786:
2783:
2773:
2772:
2769:
2766:
2763:
2760:
2757:
2754:
2751:
2748:
2745:
2742:
2739:
2736:
2733:
2730:
2726:One can write:
2724:
2723:
2720:
2717:
2714:
2711:
2708:
2705:
2702:
2699:
2696:
2693:
2690:
2687:
2684:
2681:
2668:
2667:
2664:
2661:
2658:
2655:
2652:
2649:
2646:
2643:
2640:
2637:
2634:
2631:
2628:
2625:
2622:
2619:
2616:
2613:
2610:
2607:
2604:
2601:
2598:
2595:
2592:
2589:
2586:
2583:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2559:
2556:
2553:
2550:
2547:
2544:
2541:
2538:
2535:
2532:
2529:
2526:
2523:
2520:
2517:
2514:
2511:
2508:
2498:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2449:
2446:
2443:
2440:
2437:
2434:
2431:
2428:
2422:
2417:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2326:
2323:
2320:
2317:
2314:
2311:
2308:
2305:
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2270:// Fluent usage
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2236:
2233:
2230:
2227:
2224:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2197:
2194:
2191:
2188:
2185:
2182:
2179:
2176:
2173:
2170:
2167:
2164:
2161:
2158:
2155:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2131:
2128:
2125:
2122:
2119:
2116:
2113:
2110:
2107:
2104:
2101:
2098:
2095:
2092:
2089:
2086:
2083:
2080:
2077:
2074:
2071:
2068:
2065:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1888:
1885:
1882:
1879:
1876:
1873:
1870:
1867:
1864:
1861:
1858:
1855:
1852:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1483:
1480:
1477:
1474:
1471:
1468:
1465:
1462:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1438:
1435:
1432:
1429:
1426:
1423:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1249:
1246:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1222:
1219:
1216:
1213:
1210:
1199:, which chains
1189:
1184:
1183:
1180:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1094:
1093:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
979:
976:
973:
970:
967:
964:
961:
958:
955:
952:
949:
946:
943:
940:
937:
934:
931:
928:
925:
922:
919:
916:
913:
910:
907:
904:
901:
898:
895:
892:
889:
886:
883:
880:
877:
874:
871:
868:
865:
862:
859:
856:
853:
850:
847:
844:
841:
838:
835:
832:
829:
826:
823:
820:
817:
814:
811:
808:
805:
802:
799:
796:
793:
790:
787:
784:
781:
778:
775:
772:
769:
766:
763:
760:
757:
754:
751:
748:
745:
742:
739:
736:
733:
730:
727:
724:
721:
718:
715:
712:
709:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
619:
616:
613:
610:
607:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
546:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
431:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
317:
314:
311:
308:
305:
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
245:
242:
239:
236:
233:
230:
227:
225:"dog"
224:
221:
218:
215:
212:
210:"cat"
209:
206:
203:
200:
197:
194:
191:
188:
185:
182:
179:
176:
173:
156:
151:
138:
134:
115:
84:
78:
71:method chaining
67:
47:method chaining
40:object-oriented
28:
17:
12:
11:
5:
8262:
8252:
8251:
8234:
8233:
8231:
8230:
8225:
8219:
8217:
8213:
8212:
8210:
8209:
8204:
8198:
8196:
8192:
8191:
8189:
8188:
8183:
8178:
8173:
8168:
8163:
8158:
8153:
8148:
8146:John Vlissides
8143:
8138:
8133:
8127:
8125:
8121:
8120:
8118:
8117:
8110:
8102:
8100:
8096:
8095:
8093:
8092:
8087:
8082:
8077:
8072:
8067:
8062:
8057:
8052:
8047:
8042:
8037:
8032:
8027:
8021:
8019:
8013:
8012:
8010:
8009:
8004:
7999:
7994:
7989:
7984:
7979:
7974:
7969:
7964:
7959:
7954:
7946:
7941:
7936:
7935:
7934:
7929:
7919:
7914:
7908:
7906:
7898:
7897:
7895:
7894:
7889:
7884:
7879:
7874:
7869:
7864:
7859:
7854:
7849:
7844:
7839:
7834:
7829:
7824:
7819:
7814:
7808:
7806:
7798:
7797:
7794:
7793:
7791:
7790:
7785:
7780:
7775:
7770:
7765:
7760:
7755:
7750:
7745:
7740:
7734:
7732:
7726:
7725:
7723:
7722:
7717:
7712:
7707:
7702:
7697:
7692:
7686:
7684:
7678:
7677:
7675:
7674:
7669:
7664:
7662:Factory method
7659:
7654:
7648:
7646:
7637:
7629:
7628:
7621:
7620:
7613:
7606:
7598:
7592:
7591:
7586:
7581:
7576:
7564:
7559:
7552:
7551:External links
7549:
7546:
7545:
7524:
7499:
7477:
7476:
7474:
7471:
7470:
7469:
7464:
7459:
7454:
7447:
7444:
7264:
6926:
6910:// Also works.
6680:
6486:
6481:strongly typed
6479:Subclasses in
6476:
6473:
6254:
6156:
6096:
6090:
6087:
6027:
5971:
5964:
5961:
5948:
5945:
5943:
5940:
5610:
5604:
5601:
5583:
5580:
5499:
5249:
5235:
5232:
5175:
4958:
4940:
4937:
4834:$ employeeInfo
4801:$ employeeInfo
4771:$ employeeInfo
4741:$ employeeInfo
4517:
4504:return $ this;
4491:
4488:
4484:# Salary: 200
4456:'Ride'
4367:NonEmptyString
4351:NonEmptyString
4328:NonEmptyString
4296:
4291:gradual typing
4278:
4275:
3801:
3784:
3781:
3499:
3386:
3376:
3373:
3186:
2887:
2829:mockCollection
2787:mockCollection
2782:
2729:
2680:
2507:
2483:stringContains
2471:stringContains
2427:
2421:
2418:
2018:getDisplayMode
2012:setDisplayMode
1967:getDisplayMode
1961:setDisplayMode
1916:getDisplayMode
1910:setDisplayMode
1865:getDisplayMode
1859:setDisplayMode
1646:setDisplayMode
1583:// Basic usage
1394:getDisplayMode
1358:setDisplayMode
1209:
1188:
1185:
1119:
552:
172:
155:
152:
150:
147:
114:
111:
106:
105:
98:
92:
66:
65:Implementation
63:
15:
9:
6:
4:
3:
2:
8261:
8250:
8247:
8246:
8244:
8229:
8226:
8224:
8221:
8220:
8218:
8214:
8208:
8205:
8203:
8200:
8199:
8197:
8193:
8187:
8184:
8182:
8179:
8177:
8174:
8172:
8171:Robert Martin
8169:
8167:
8166:Martin Fowler
8164:
8162:
8159:
8157:
8154:
8152:
8149:
8147:
8144:
8142:
8141:Ralph Johnson
8139:
8137:
8134:
8132:
8129:
8128:
8126:
8122:
8116:
8115:
8111:
8109:
8108:
8104:
8103:
8101:
8097:
8091:
8088:
8086:
8083:
8081:
8078:
8076:
8073:
8071:
8068:
8066:
8063:
8061:
8058:
8056:
8053:
8051:
8048:
8046:
8043:
8041:
8038:
8036:
8033:
8031:
8028:
8026:
8023:
8022:
8020:
8014:
8008:
8005:
8003:
8000:
7998:
7995:
7993:
7990:
7988:
7985:
7983:
7980:
7978:
7977:Active record
7975:
7973:
7970:
7968:
7967:Naked objects
7965:
7963:
7960:
7958:
7957:Specification
7955:
7953:
7951:
7947:
7945:
7942:
7940:
7937:
7933:
7930:
7928:
7925:
7924:
7923:
7920:
7918:
7915:
7913:
7910:
7909:
7907:
7905:
7902:Architectural
7899:
7893:
7890:
7888:
7885:
7883:
7880:
7878:
7875:
7873:
7870:
7868:
7865:
7863:
7860:
7858:
7855:
7853:
7850:
7848:
7845:
7843:
7840:
7838:
7835:
7833:
7830:
7828:
7825:
7823:
7820:
7818:
7815:
7813:
7812:Active object
7810:
7809:
7807:
7805:
7799:
7789:
7786:
7784:
7781:
7779:
7776:
7774:
7771:
7769:
7766:
7764:
7761:
7759:
7756:
7754:
7751:
7749:
7746:
7744:
7741:
7739:
7736:
7735:
7733:
7731:
7727:
7721:
7718:
7716:
7713:
7711:
7708:
7706:
7703:
7701:
7698:
7696:
7693:
7691:
7688:
7687:
7685:
7683:
7679:
7673:
7670:
7668:
7665:
7663:
7660:
7658:
7655:
7653:
7650:
7649:
7647:
7645:
7641:
7638:
7636:
7630:
7626:
7619:
7614:
7612:
7607:
7605:
7600:
7599:
7596:
7590:
7587:
7585:
7582:
7580:
7577:
7575:
7571:
7568:
7565:
7563:
7560:
7558:
7555:
7554:
7535:
7528:
7513:
7509:
7503:
7496:
7492:
7491:Martin Fowler
7487:
7485:
7483:
7478:
7468:
7465:
7463:
7460:
7458:
7455:
7453:
7450:
7449:
7262:
6924:
6678:
6676:
6484:
6482:
6252:
6250:
6154:
6094:
6086:
6025:
5969:
5960:
5958:
5954:
5608:
5600:
5596:
5593:
5592:copy-on-write
5589:
5567:favoriteQuote
5482:favoriteQuote
5476:favoriteQuote
5449:favoriteQuote
5299:favoriteQuote
5247:
5241:
5177:>>>
5062:" "
4956:
4952:
4946:
4933:# Salary: 100
4906:'100'
4876:'Tom'
4515:
4497:
4294:
4292:
4284:
4139:set_pen_color
3899:set_pen_color
3875:"0"
3869:"0"
3863:"0"
3799:
3793:
3789:
3497:
3384:
3382:
3372:
3184:
2901:GridBagLayout
2889:GridBagLayout
2885:
2878:LayoutManager
2780:
2778:
2727:
2678:
2676:
2671:
2505:
2503:
2453:"m"
2425:
2306:FluentGlutApp
2180:FluentGlutApp
2114:FluentGlutApp
2081:setWindowSize
2048:FluentGlutApp
1997:FluentGlutApp
1946:FluentGlutApp
1895:FluentGlutApp
1844:FluentGlutApp
1790:FluentGlutApp
1769:FluentGlutApp
1685:setWindowSize
1418:setWindowSize
1406:display_mode_
1376:display_mode_
1262:display_mode_
1207:
1204:
1202:
1198:
1194:
1117:
1115:
1111:
1107:
1103:
1099:
550:
450:"a"
330:"a"
170:
168:
164:
160:
146:
143:
132:
128:
124:
120:
110:
103:
99:
96:
93:
90:
89:
88:
81:
76:
73:to implement
72:
62:
60:
59:Martin Fowler
56:
52:
48:
44:
41:
37:
33:
26:
22:
8223:Anti-pattern
8186:Linda Rising
8112:
8105:
8050:Lazy loading
7982:Identity map
7949:
7633:Gang of Four
7537:. Retrieved
7527:
7515:. Retrieved
7511:
7502:
7256:
6914:
6672:
6478:
6246:
6144:
6092:
6084:
6022:
5966:
5950:
5606:
5597:
5585:
5582:Immutability
5311:""
5293:""
5275:""
5237:
4953:
4947:, returning
4942:
4493:
4280:
4259:WindowBorder
4175:bottom_right
4079:WindowBorder
4064:bottom_right
3786:
3491:
3378:
3369:
3178:
2875:
2774:
2725:
2672:
2669:
2499:
2423:
1205:
1190:
1095:
547:
414:translations
294:translations
177:translations
157:
116:
107:
68:
35:
29:
8195:Communities
8176:Jim Coplien
8151:Grady Booch
8136:Erich Gamma
8080:Type tunnel
8065:Object pool
8060:Null object
8055:Mock object
7917:Interceptor
7887:Thread pool
7802:Concurrency
7748:Interpreter
7517:13 November
5621:constructor
4927:# Name: Tom
4250:SwingWindow
4220:SwingWindow
4190:bottom_left
4040:bottom_left
3513:constructor
3445:'@'
3433:setRangeKey
2868:atLeastOnce
2777:mock object
2617:BOOK_STATUS
1874:GLUT_DOUBLE
1652:GLUT_DOUBLE
276:IEnumerable
129:library in
8090:Delegation
8025:Blackboard
7730:Behavioral
7682:Structural
7644:Creational
7539:2022-02-01
7473:References
6475:Subclasses
6382:ByteBuffer
6334:getMessage
6316:getMessage
6310:ByteBuffer
6286:ByteBuffer
6274:ByteBuffer
6167:ByteBuffer
6158:ByteBuffer
6149:after the
6107:ByteBuffer
6098:ByteBuffer
6041:ByteBuffer
5985:ByteBuffer
4924:# Display:
4918:$ employee
4885:setSurname
4849:$ employee
4732:__toString
4624:setSurname
4471:$ employee
4440:$ employee
4425:$ employee
4401:{
4370:$ .surname
3412:setHashKey
3375:JavaScript
3266:JTextField
3254:JTextField
3129:HORIZONTAL
2979:JTextField
2967:JTextField
2805:Collection
2799:createMock
2784:Collection
2775:Also, the
2542:selectFrom
2027:GLUT_DEPTH
1976:GLUT_ALPHA
1670:GLUT_DEPTH
1664:GLUT_ALPHA
1114:assertions
1110:properties
504:finalQuery
186:Dictionary
55:Eric Evans
8156:Kent Beck
7882:Semaphore
7872:Scheduler
7715:Flyweight
7705:Decorator
7700:Composite
7672:Singleton
7667:Prototype
7219:// Works!
7165:AbstractC
7087:AbstractB
7072:AbstractC
7060:AbstractC
7039:AbstractB
6961:AbstractA
6946:AbstractB
6934:AbstractB
6917:AbstractA
6883:// Works!
6802:AbstractA
6778:AbstractA
6700:AbstractA
6688:AbstractA
6379:// Usage:
5957:fail-fast
5849:// use it
5588:immutable
5525:firstname
5362:firstname
5356:firstname
5329:firstname
5263:firstname
4900:setSalary
4678:setSalary
4654:$ surname
4633:$ surname
4546:$ surname
4475:# Output:
4386:$ .salary
4226:GUIWindow
4160:top_right
4100:GUIWindow
4085:GUIWindow
4052:top_right
3887:GUIWindow
3729:// use it
2931:setLayout
2644:AUTHOR_ID
2569:selectOne
2345:withDepth
2339:withAlpha
2003:withDepth
1952:withAlpha
1925:GLUT_RGBA
1658:GLUT_RGBA
1034:FirstName
953:WriteLine
749:firstName
743:FirstName
728:firstName
719:FirstName
572:FirstName
142:operators
123:Smalltalk
8243:Category
8216:See also
8018:patterns
7904:patterns
7857:Proactor
7804:patterns
7778:Strategy
7768:Observer
7758:Mediator
7753:Iterator
7635:patterns
7570:Archived
7446:See also
7081:>>
7054:abstract
6955:>>
6928:abstract
6709:>>
6682:abstract
6388:Allocate
6173:allocate
6151:rewind()
6113:allocate
6047:allocate
5991:allocate
5942:Problems
5900:setColor
5756:setColor
5546:lastname
5422:lastname
5416:lastname
5389:lastname
5281:lastname
4972:__init__
4861:Employee
4729:function
4708:$ salary
4687:$ salary
4675:function
4621:function
4567:function
4558:$ salary
4522:Employee
4512:Employee
4508:Employee
4429:Employee
4301:Employee
4205:top_left
4130:top_left
4070:Position
4058:Position
4046:Position
4034:Position
4028:top_left
3983:Position
3971:Position
3941:Position
3842:override
3759:setColor
3672:`saving
3606:setColor
3469:function
2850:andThrow
2817:EasyMock
2793:EasyMock
2752:customer
2746:customer
2737:Customer
2700:property
2682:Customer
2623:SOLD_OUT
2333:withRGBA
2210:setTitle
1901:withRGBA
1736:setTitle
1532:setTitle
1197:iostream
1046:LastName
1019:Customer
1007:Customer
899:_context
878:Customer
845:_context
824:Customer
803:lastName
797:LastName
791:_context
782:lastName
773:LastName
770:Customer
737:_context
716:Customer
692:_context
680:Customer
599:LastName
465:filtered
444:Contains
408:filtered
324:Contains
149:Examples
139:>>
135:<<
127:iostream
8070:Servant
8002:Model 2
7862:Reactor
7852:Monitor
7817:Balking
7788:Visitor
7763:Memento
7743:Command
7690:Adapter
7657:Builder
7317:extends
7162:extends
7084:extends
7069:extends
7036:extends
6958:extends
6943:extends
6799:extends
6775:extends
6697:extends
6527:extends
6358:message
6328:message
6089:Logging
5953:runtime
5930:kitten2
5924:kitten1
5912:console
5894:kitten1
5888:kitten2
5873:setName
5855:kitten1
5669:setName
4870:setName
4825:PHP_EOL
4795:PHP_EOL
4789:surname
4765:PHP_EOL
4648:surname
4570:setName
4552:private
4540:private
4528:private
4458:; .
4452:surname
4450:; .
4442:{ .
4354:$ .name
4319:* >
4223:extends
4199:line_to
4184:line_to
4169:line_to
4154:line_to
4124:move_to
4082:extends
3977:end_pos
3959:line_to
3929:move_to
3833:extends
3744:setName
3708:kitten`
3660:console
3561:setName
3454:execute
3397:getItem
3141:weightx
2758:getName
2435:expects
2252:GlutApp
1820:GlutApp
1778:GlutApp
1775:private
1619:GlutApp
1298:GlutApp
1223:private
1217:GlutApp
1154:AtLeast
1106:methods
1070:Address
974:Program
947:Console
911:address
905:Address
890:address
881:Address
701:Context
689:Context
686:private
653:Address
560:Context
540:ToUpper
471:OrderBy
396:ToUpper
339:OrderBy
113:History
104:context
8124:People
8007:Broker
7710:Facade
7695:Bridge
7512:Oracle
7434:doThat
7428:doThis
7395:doThis
7389:doThat
7332:doThat
7278:doThis
7246:doThat
7240:doThis
7207:doThat
7201:doThis
7132:return
7114:public
7006:return
6994:doThat
6988:public
6904:doThis
6877:doThat
6871:doThis
6835:return
6823:doThat
6817:public
6745:return
6733:doThis
6727:public
6662:doThat
6656:doThis
6629:doThis
6623:doThat
6584:doThat
6578:public
6563:return
6557:doThis
6542:doThis
6536:public
6503:doThis
6497:public
6403:Rewind
6367:buffer
6364:return
6340:buffer
6325:string
6304:Action
6289:buffer
6271:static
6268:public
6256:static
6227:buffer
6209:buffer
6185:rewind
6161:buffer
6147:buffer
6125:rewind
6101:buffer
6062:rewind
6003:rewind
5864:Kitten
5843:// ...
5831:return
5783:Kitten
5744:return
5696:Kitten
5615:Kitten
5510:Person
5504:person
5485:return
5455:String
5425:return
5395:String
5365:return
5335:String
5305:String
5287:String
5269:String
5254:Person
5210:suffix
5195:indent
5167:return
5164:"
5158:author
5134:"
5104:author
5092:suffix
5083:return
5068:spaces
5035:spaces
5023:indent
4945:Python
4939:Python
4831:return
4819:salary
4813:$ this
4783:$ this
4753:$ this
4726:public
4717:$ this
4714:return
4702:salary
4696:$ this
4684:string
4672:public
4663:$ this
4660:return
4642:$ this
4630:string
4618:public
4609:$ this
4606:return
4600:$ name
4588:$ this
4579:$ name
4576:string
4564:public
4555:string
4543:string
4534:$ name
4531:string
4500:$ this
4460:salary
4406:qq:to;
4403:return
4396:method
4394:;
4383:Salary
4378:;
4362:;
4325:subset
4323:;
4308:Salary
4305:subset
4303:{
4268:render
4262:appWin
4241:appWin
4115:render
4094:render
4001:render
3854:Tuple3
3827:object
3821:Tuple3
3792:mixins
3735:Kitten
3714:return
3690:, the
3639:return
3594:return
3507:Kitten
3391:client
3381:jQuery
3242:JLabel
3230:JLabel
3218:Packer
3206:Packer
3200:JPanel
3188:JPanel
3181:Packer
2955:JLabel
2943:JLabel
2919:JPanel
2907:JPanel
2835:remove
2823:expect
2731:method
2656:author
2605:STATUS
2563:exists
2548:author
2536:create
2518:AUTHOR
2512:author
2509:Author
2447:method
2408:create
2372:across
2258:create
2243:create
2222:return
2165:return
2099:return
2054:across
2033:return
1982:return
1931:return
1880:return
1784:public
1754:create
1574:create
1556:title_
1403:return
1292:public
1286:title_
1172:AtMost
1121:Assert
992:string
980:static
932:public
917:return
887:string
875:public
863:return
833:string
821:public
809:return
779:string
767:public
755:return
725:string
713:public
650:string
647:public
623:string
620:public
596:string
593:public
569:string
566:public
516:Select
510:sorted
495:Length
459:sorted
372:Select
363:Length
282:string
198:string
192:string
38:is an
8099:Books
8016:Other
7952:-tier
7773:State
7720:Proxy
7311:class
7266:class
7156:class
7057:class
7030:class
6931:class
6793:class
6769:class
6685:class
6551:super
6521:class
6488:class
6460:Limit
6427:=>
6352:debug
6259:class
6233:limit
6197:debug
6131:limit
6071:limit
6009:limit
5885:const
5852:const
5825:color
5819:color
5771:const
5762:color
5720:color
5708:color
5684:const
5654:color
5612:class
5461:->
5401:->
5341:->
5251:class
5240:Swift
5234:Swift
5225:title
5146:title
5125:title
5080:title
5056:title
5017:title
5011:title
4996:->
4984:title
4960:class
4897:->
4882:->
4867:->
4816:->
4786:->
4756:->
4699:->
4645:->
4591:->
4519:class
4437:given
4337:where
4317:where
4298:class
4287:given
4217:class
4145:Black
4109:super
4076:trait
3911:Color
3905:color
3884:trait
3836:Color
3830:Black
3806:Color
3803:class
3788:Scala
3783:Scala
3702:color
3633:color
3627:color
3612:color
3546:color
3504:class
3362:fillx
3350:gridy
3338:gridx
3308:gridy
3296:gridx
3099:gridx
3033:gridy
3015:gridx
2811:class
2749:->
2665:))));
2593:where
2557:where
2393:named
2216:title
2201:title
2192:const
2186:named
2183:&
2117:&
2051:&
2000:&
1949:&
1898:&
1847:&
1766:class
1577:(){;}
1562:title
1547:title
1538:const
1340:argv_
1328:argc_
1274:argv_
1256:argc_
1214:class
1133:=>
1102:NUnit
1082:Print
971:class
938:Print
677:class
557:class
534:Value
525:=>
489:Value
480:=>
429:=>
420:Where
390:Value
381:=>
357:Value
348:=>
309:=>
300:Where
288:query
8075:Twin
7932:MVVM
7847:Lock
7842:Join
7519:2019
7344:type
7338:this
7290:type
7284:this
7259:this
7174:>
7168:<
7144:this
7129:...;
7096:>
7090:<
7075:<
7063:<
7048:>
7042:<
7018:this
7003:...;
6970:>
6964:<
6949:<
6937:<
6919:and
6838:this
6832:...;
6811:>
6805:<
6787:>
6781:<
6757:this
6742:...;
6703:<
6691:<
6566:this
6313:>
6307:<
6283:this
6029:java
5973:java
5834:copy
5813:copy
5807:name
5801:this
5795:name
5789:copy
5774:copy
5747:copy
5738:name
5732:name
5726:copy
5714:this
5702:copy
5687:copy
5675:name
5648:this
5636:name
5630:this
5488:self
5470:self
5464:Self
5440:func
5428:self
5410:self
5404:Self
5380:func
5368:self
5350:self
5344:Self
5320:func
5244:self
5180:Poem
5170:self
5140:self
5119:self
5098:self
5086:self
5074:self
5050:self
5029:self
5005:self
4999:None
4978:self
4963:Poem
4949:self
4915:echo
4759:name
4594:name
4466:; }
4444:name
4435:();
4420:} }
4399:gist
4341:/\S/
4339:* ~~
4314:Real
4283:Raku
4277:Raku
4256:with
4019:this
4013:type
4007:this
3995:type
3989:this
3953:type
3947:this
3923:type
3917:this
3796:with
3774:save
3717:this
3696:this
3684:name
3678:this
3651:save
3642:this
3621:this
3597:this
3588:name
3582:name
3576:this
3567:name
3540:this
3528:name
3522:this
3494:this
3475:data
3463:then
3326:pack
3284:pack
3117:fill
3063:NONE
3051:fill
2841:null
2740:>
2734:<
2638:BOOK
2599:BOOK
2584:BOOK
2578:from
2502:jOOQ
2500:The
2459:with
2444:()).
2441:once
2429:mock
2420:Java
2318:argv
2312:argc
2297:argv
2291:char
2285:argc
2276:main
2240:void
2228:this
2195:char
2171:this
2105:this
2039:this
1988:this
1937:this
1886:this
1832:argv
1826:argc
1811:argv
1805:char
1799:argc
1634:argv
1628:argc
1610:argv
1604:char
1598:argc
1589:main
1571:void
1541:char
1529:void
1472:void
1415:void
1382:mode
1367:mode
1355:void
1346:argv
1334:argc
1319:argv
1313:char
1307:argc
1280:char
1268:char
1127:That
1108:and
1098:.NET
1096:The
995:args
986:Main
983:void
935:void
920:this
866:this
812:this
758:this
543:());
399:());
285:>
279:<
201:>
189:<
163:LINQ
102:void
85:self
80:this
57:and
34:, a
7944:ECS
7939:ADR
7927:MVP
7922:MVC
7493:, "
7437:();
7431:().
7425:().
7419:new
7404:val
7398:();
7392:().
7386:().
7380:new
7365:val
7362:...
7353:...
7335:():
7329:def
7299:...
7281:():
7275:def
7249:();
7243:().
7237:().
7231:new
7216:();
7213:foo
7210:().
7204:().
7198:().
7192:new
7180:...
7120:foo
6907:();
6901:().
6895:new
6880:();
6874:().
6868:().
6862:new
6850:...
6665:();
6659:().
6653:().
6647:new
6632:();
6626:().
6620:().
6614:new
6602:...
6593:...
6560:();
6512:...
6466:100
6442:Get
6418:log
6412:Log
6346:log
6298:log
6295:Log
6277:Log
6239:100
6224:));
6215:get
6191:log
6188:();
6137:100
6128:().
6077:100
6035:nio
6015:100
6006:().
5979:nio
5918:log
5861:new
5786:();
5780:new
5699:();
5693:new
5561:set
5540:set
5519:set
5501:let
5443:set
5383:set
5323:set
5296:var
5278:var
5260:var
5238:In
5110:str
5089:def
5041:int
5020:def
4990:str
4969:def
4943:In
4864:())
4858:new
4496:PHP
4494:In
4490:PHP
4468:say
4464:200
4433:new
4418:END
4380:has
4364:has
4348:has
4334:Str
4281:In
4247:new
4238:val
4232:...
4208:())
4193:())
4178:())
4163:())
4133:())
4097:():
4091:def
4067:():
4061:def
4055:():
4049:def
4043:():
4037:def
4031:():
4025:def
4004:():
3998:def
3965:pos
3956:def
3935:pos
3926:def
3896:def
3851:():
3848:rgb
3845:def
3818:():
3815:rgb
3812:def
3777:();
3732:new
3693:$ {
3675:$ {
3666:log
3365:();
3263:new
3239:new
3215:new
3203:();
3197:new
3159:add
3075:add
3006:();
3000:new
2976:new
2952:new
2922:();
2916:new
2904:();
2898:new
2871:();
2862:())
2856:new
2694:obj
2691:...
2685:obj
2632:and
2411:();
2384:500
2378:500
2366:200
2360:200
2342:().
2336:().
2330:().
2282:int
2273:int
2261:();
2135:int
2126:int
2069:int
2060:int
1796:int
1757:();
1748:app
1730:app
1724:200
1718:200
1706:app
1697:500
1691:500
1679:app
1640:app
1622:app
1595:int
1586:int
1490:int
1481:int
1433:int
1424:int
1391:int
1364:int
1304:int
1229:int
1193:C++
1187:C++
1181:));
1166:And
1130:(()
1085:();
1058:Sex
1022:();
1016:new
857:sex
851:Sex
836:sex
827:Sex
704:();
698:new
665:set
659:get
638:set
632:get
626:Sex
611:set
605:get
584:set
578:get
501:var
456:var
453:));
438:Key
405:var
318:Key
183:new
174:var
137:or
131:C++
121:in
83:or
43:API
30:In
8245::
7510:.
7481:^
7177:{}
7123:()
7051:{}
6997:()
6826:()
6790:{}
6736:()
6587:()
6545:()
6506:()
6469:);
6406:()
6394:10
6361:);
6343:);
6242:);
6182:).
6179:10
6140:);
6122:).
6119:10
6080:);
6065:()
6053:10
6018:);
6000:).
5997:10
5933:);
5909:);
5882:);
5867:()
5624:()
5513:()
5152:-
5113:):
5044:):
4909:);
4804:.=
4774:.=
4735:()
4473:;
4462:=
4454:=
4446:=
4427:=
4422:my
4392:rw
4389:is
4376:rw
4373:is
4360:rw
4357:is
4343:;
4331:of
4311:of
4271:()
4253:()
4118:()
3986:):
3944:):
3914:):
3878:);
3738:()
3711:);
3654:()
3516:()
3496:.
3487:})
3457:()
3359:).
3347:).
3335:).
3332:nm
3320:pk
3317:);
3305:).
3293:).
3278:pk
3275:);
3272:10
3257:nm
3251:);
3227:);
3209:pk
3174:);
3171:gc
3165:nm
3135:gc
3111:gc
3093:gc
3090:);
3087:gc
3045:gc
3027:gc
3009:gc
2994:gc
2988:);
2985:10
2970:nm
2964:);
2940:);
2937:gl
2892:gl
2844:))
2814:);
2764:==
2761:()
2712:eq
2709:).
2662:ID
2650:eq
2626:))
2611:eq
2572:()
2533:);
2524:as
2495:);
2492:))
2480:),
2465:or
2456:).
2369:).
2354:at
2348:()
2294:**
2267:};
2255:::
2246:()
2219:);
2162:);
2120:at
2096:);
2030:);
2021:()
2006:()
1979:);
1970:()
1955:()
1928:);
1919:()
1904:()
1877:);
1868:()
1853:()
1838:{}
1808:**
1745:);
1727:);
1700:);
1673:);
1637:);
1607:**
1580:};
1514:y_
1502:x_
1457:h_
1445:w_
1397:()
1316:**
1271:**
1250:y_
1244:x_
1238:h_
1232:w_
1203:.
1163:).
1148:Is
1116::
1079:).
1067:).
1055:).
1043:).
1028:c1
1010:c1
962:);
941:()
498:);
333:))
267:};
249:},
234:},
219:},
169:.
159:C#
154:C#
61:.
7950:n
7617:e
7610:t
7603:v
7542:.
7521:.
7422:B
7416:=
7413:B
7410::
7407:b
7383:B
7377:=
7374:A
7371::
7368:a
7359:}
7356:}
7350:{
7347:=
7341:.
7323:{
7320:A
7314:B
7308:}
7302:}
7296:{
7293:=
7287:.
7272:{
7269:A
7234:B
7228:=
7225:b
7222:B
7195:C
7189:=
7186:c
7183:C
7171:C
7159:C
7153:}
7150:}
7147:;
7141:)
7138:T
7135:(
7126:{
7117:T
7111:)
7105:(
7099:{
7093:T
7078:T
7066:T
7045:B
7033:B
7027:}
7024:}
7021:;
7015:)
7012:T
7009:(
7000:{
6991:T
6985:)
6979:(
6973:{
6967:T
6952:T
6940:T
6921:A
6898:A
6892:=
6889:a
6886:A
6865:B
6859:=
6856:b
6853:B
6847:}
6844:}
6841:;
6829:{
6820:B
6814:{
6808:B
6796:B
6784:A
6772:A
6766:}
6763:}
6760:;
6754:)
6751:T
6748:(
6739:{
6730:T
6724:)
6718:(
6712:{
6706:T
6694:T
6650:B
6644:=
6641:b
6638:B
6617:B
6611:=
6608:a
6605:A
6599:}
6596:}
6590:{
6581:B
6572:}
6569:;
6554:.
6548:{
6539:B
6533:{
6530:A
6524:B
6518:}
6515:}
6509:{
6500:A
6494:{
6491:A
6463:(
6457:.
6454:)
6451:)
6448:0
6445:(
6439:.
6436:b
6433:+
6424:b
6421:,
6415:(
6409:.
6400:.
6397:)
6391:(
6385:.
6376:}
6373:}
6370:;
6355:(
6349:.
6337:(
6331:=
6322:{
6319:)
6301:,
6292:,
6280:(
6265:{
6236:(
6230:.
6221:0
6218:(
6212:.
6206:+
6200:(
6194:.
6176:(
6170:.
6164:=
6134:(
6116:(
6110:.
6104:=
6074:(
6068:.
6059:.
6056:)
6050:(
6044:.
6038:.
6032:.
6012:(
5994:(
5988:.
5982:.
5976:.
5927:,
5921:(
5915:.
5903:(
5897:.
5891:=
5876:(
5870:.
5858:=
5846:}
5840:}
5837:;
5828:;
5822:=
5816:.
5810:;
5804:.
5798:=
5792:.
5777:=
5768:{
5765:)
5759:(
5753:}
5750:;
5741:;
5735:=
5729:.
5723:;
5717:.
5711:=
5705:.
5690:=
5681:{
5678:)
5672:(
5666:}
5663:;
5657:=
5651:.
5645:;
5639:=
5633:.
5627:{
5618:{
5576:)
5570::
5564:(
5558:.
5555:)
5549::
5543:(
5537:.
5534:)
5528::
5522:(
5516:.
5507:=
5494:}
5491:}
5479:=
5473:.
5467:{
5458:)
5452::
5446:(
5434:@
5431:}
5419:=
5413:.
5407:{
5398:)
5392::
5386:(
5374:@
5371:}
5359:=
5353:.
5347:{
5338:)
5332::
5326:(
5314:@
5308:=
5302::
5290:=
5284::
5272:=
5266::
5257:{
5222:.
5219:)
5213:(
5207:.
5204:)
5201:4
5198:(
5192:.
5189:)
5183:(
5161:}
5155:{
5149:}
5143:.
5137:{
5131:f
5128:=
5122:.
5107::
5101:,
5095:(
5077:.
5071:+
5065:*
5059:=
5053:.
5038::
5032:,
5026:(
5014:=
5008:.
5002::
4993:)
4987::
4981:,
4975:(
4966::
4921:;
4903:(
4894:)
4888:(
4879:)
4873:(
4855:(
4852:=
4843:}
4840:}
4837:;
4828:;
4822:.
4810:.
4798:;
4792:.
4780:.
4768:;
4762:.
4750:.
4744:=
4738:{
4723:}
4720:;
4711:;
4705:=
4693:{
4690:)
4681:(
4669:}
4666:;
4657:;
4651:=
4639:{
4636:)
4627:(
4615:}
4612:;
4603:;
4597:=
4585:{
4582:)
4573:(
4561:;
4549:;
4537:;
4525:{
4431:.
4321:0
4265:.
4244:=
4235:}
4229:{
4214:}
4211:}
4202:(
4196:.
4187:(
4181:.
4172:(
4166:.
4157:(
4151:.
4148:)
4142:(
4136:.
4127:(
4121:.
4112:.
4106:{
4103:=
4088:{
4073:}
4016:=
4010:.
3992:.
3980::
3974:,
3968::
3962:(
3950:.
3938::
3932:(
3920:.
3908::
3902:(
3890:{
3881:}
3872:,
3866:,
3860:(
3857:=
3839:{
3824:}
3809:{
3771:.
3768:)
3762:(
3756:.
3753:)
3747:(
3741:.
3726:}
3723:}
3720:;
3705:}
3699:.
3687:}
3681:.
3669:(
3663:.
3657:{
3648:}
3645:;
3636:;
3630:=
3624:.
3618:{
3615:)
3609:(
3603:}
3600:;
3591:;
3585:=
3579:.
3573:{
3570:)
3564:(
3558:}
3555:;
3549:=
3543:.
3537:;
3531:=
3525:.
3519:{
3510:{
3481:{
3478:)
3472:(
3466:(
3460:.
3451:.
3448:)
3442:,
3436:(
3430:.
3427:)
3421:,
3415:(
3409:.
3406:)
3400:(
3394:.
3356:0
3353:(
3344:1
3341:(
3329:(
3323:.
3314:0
3311:(
3302:0
3299:(
3290:l
3287:(
3281:.
3269:(
3260:=
3245:(
3236:=
3233:l
3224:p
3221:(
3212:=
3194:=
3191:p
3168:,
3162:(
3156:.
3153:p
3150:;
3147:1
3144:=
3138:.
3132:;
3126:.
3120:=
3114:.
3108:;
3105:1
3102:=
3096:.
3084:,
3081:l
3078:(
3072:.
3069:p
3066:;
3060:.
3054:=
3048:.
3042:;
3039:0
3036:=
3030:.
3024:;
3021:0
3018:=
3012:.
2997:=
2982:(
2973:=
2958:(
2949:=
2946:l
2934:(
2928:.
2925:p
2913:=
2910:p
2895:=
2865:.
2853:(
2847:.
2838:(
2832:.
2826:(
2820:.
2808:.
2802:(
2796:.
2790:=
2770:)
2755:.
2743:(
2721:)
2715:(
2703:(
2697:.
2688:=
2659:.
2653:(
2647:.
2641:.
2635:(
2629:.
2620:.
2614:(
2608:.
2602:.
2596:(
2590:.
2587:)
2581:(
2575:.
2566:(
2560:(
2554:.
2551:)
2545:(
2539:.
2527:(
2521:.
2515:=
2486:(
2474:(
2468:(
2462:(
2450:(
2438:(
2432:.
2414:}
2405:.
2402:)
2396:(
2390:.
2387:)
2381:,
2375:(
2363:,
2357:(
2351:.
2324:.
2321:)
2315:,
2309:(
2303:{
2300:)
2288:,
2279:(
2264:}
2249:{
2234:}
2231:;
2225:*
2213:(
2207:{
2204:)
2198:*
2189:(
2177:}
2174:;
2168:*
2159:y
2156:,
2153:x
2150:(
2144:{
2141:)
2138:y
2132:,
2129:x
2123:(
2111:}
2108:;
2102:*
2093:h
2090:,
2087:w
2084:(
2078:{
2075:)
2072:h
2066:,
2063:w
2057:(
2045:}
2042:;
2036:*
2024:|
2015:(
2009:{
1994:}
1991:;
1985:*
1973:|
1964:(
1958:{
1943:}
1940:;
1934:*
1922:|
1913:(
1907:{
1892:}
1889:;
1883:*
1871:|
1862:(
1856:{
1835:)
1829:,
1823:(
1817::
1814:)
1802:,
1793:(
1787::
1781:{
1772::
1760:}
1751:.
1739:(
1733:.
1721:,
1715:(
1709:.
1694:,
1688:(
1682:.
1667:|
1661:|
1655:|
1649:(
1643:.
1631:,
1625:(
1616:{
1613:)
1601:,
1592:(
1568:}
1565:;
1559:=
1553:{
1550:)
1544:*
1535:(
1526:}
1523:;
1520:y
1517:=
1511:;
1508:x
1505:=
1499:{
1496:)
1493:y
1487:,
1484:x
1478:(
1469:}
1466:;
1463:h
1460:=
1454:;
1451:w
1448:=
1442:{
1439:)
1436:h
1430:,
1427:w
1421:(
1412:}
1409:;
1400:{
1388:}
1385:;
1379:=
1373:{
1370:)
1361:(
1352:}
1349:;
1343:=
1337:;
1331:=
1325:{
1322:)
1310:,
1301:(
1295::
1289:;
1283:*
1277:;
1265:;
1259:,
1253:,
1247:,
1241:,
1235:,
1226::
1220:{
1178:5
1175:(
1169:.
1160:3
1157:(
1151:.
1145:,
1142:2
1139:*
1136:2
1124:.
1091:}
1088:}
1073:(
1061:(
1049:(
1037:(
1031:.
1013:=
1001:{
998:)
989:(
977:{
968:}
965:}
956:(
950:.
944:{
926:}
923:;
914:;
908:=
902:.
896:{
893:)
884:(
872:}
869:;
860:;
854:=
848:.
842:{
839:)
830:(
818:}
815:;
806:;
800:=
794:.
788:{
785:)
776:(
764:}
761:;
752:;
746:=
740:.
734:{
731:)
722:(
695:=
683:{
674:}
671:}
668:;
662:;
656:{
644:}
641:;
635:;
629:{
617:}
614:;
608:;
602:{
590:}
587:;
581:;
575:{
563:{
537:.
531:.
528:t
522:t
519:(
513:.
507:=
492:.
486:.
483:t
477:t
474:(
468:.
462:=
447:(
441:.
435:.
432:t
426:t
423:(
417:.
411:=
393:.
387:.
384:t
378:t
375:(
369:.
366:)
360:.
354:.
351:t
345:t
342:(
336:.
327:(
321:.
315:.
312:t
306:t
303:(
297:.
291:=
264:}
258:,
252:{
243:,
237:{
228:,
222:{
213:,
207:{
204:{
195:,
180:=
27:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.