Knowledge

Fluent interface

Source đź“ť

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:.

Index

Microsoft Office 2007 § User interface
Fluent Design System
software engineering
object-oriented
API
method chaining
domain-specific language
Eric Evans
Martin Fowler
method chaining
method cascading
this
Self-referential
void
method cascading
Smalltalk
iostream
C++
operators
C#
LINQ
extension methods
.NET
NUnit
methods
properties
assertions
C++
iostream
overloaded operators

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑