| 
									
										
										
										
											2015-11-15 23:38:50 -07:00
										 |  |  | // #docregion
 | 
					
						
							|  |  |  | class Hero { | 
					
						
							|  |  |  |   static int _nextId = 1; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-23 14:33:54 +00:00
										 |  |  |   final int id; | 
					
						
							| 
									
										
										
										
											2015-11-15 23:38:50 -07:00
										 |  |  |   String firstName; | 
					
						
							|  |  |  |   String lastName; | 
					
						
							|  |  |  |   DateTime birthdate; | 
					
						
							|  |  |  |   String url; | 
					
						
							|  |  |  |   int rate = 100; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-23 14:33:54 +00:00
										 |  |  |   Hero(this.firstName, | 
					
						
							|  |  |  |       {this.lastName, this.birthdate, this.url, this.rate, int id}) | 
					
						
							|  |  |  |       : this.id = id ?? _nextId++; | 
					
						
							| 
									
										
										
										
											2015-11-15 23:38:50 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-26 15:48:03 -08:00
										 |  |  |   String get fullName { | 
					
						
							|  |  |  |     if (lastName == null) return firstName; | 
					
						
							|  |  |  |     return '$firstName $lastName'; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-23 14:33:54 +00:00
										 |  |  |   Hero clone() => new Hero(firstName, | 
					
						
							|  |  |  |       lastName: lastName, birthdate: birthdate, url: url, rate: rate, id: id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override String toString() => '$fullName (rate: $rate)'; | 
					
						
							| 
									
										
										
										
											2015-11-15 23:38:50 -07:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-23 14:33:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | final List<Hero> mockHeroes = [ | 
					
						
							|  |  |  |   new Hero('Hercules', | 
					
						
							|  |  |  |       lastName: 'Son of Zeus', | 
					
						
							|  |  |  |       birthdate: new DateTime(1970, 2, 25), | 
					
						
							|  |  |  |       url: 'http://www.imdb.com/title/tt0065832/', | 
					
						
							|  |  |  |       rate: 325), | 
					
						
							|  |  |  |   new Hero('eenie', lastName: 'toe'), | 
					
						
							|  |  |  |   new Hero('Meanie', lastName: 'Toe'), | 
					
						
							|  |  |  |   new Hero('Miny', lastName: 'Toe'), | 
					
						
							|  |  |  |   new Hero('Moe', lastName: 'Toe') | 
					
						
							|  |  |  | ]; |