|
1 | 1 | /**
|
2 | 2 | * The MIT License
|
3 | 3 | * Copyright (c) 2014 Ilkka Seppälä
|
4 |
| - * |
| 4 | + * <p> |
5 | 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 | 6 | * of this software and associated documentation files (the "Software"), to deal
|
7 | 7 | * in the Software without restriction, including without limitation the rights
|
8 | 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 | 9 | * copies of the Software, and to permit persons to whom the Software is
|
10 | 10 | * furnished to do so, subject to the following conditions:
|
11 |
| - * |
| 11 | + * <p> |
12 | 12 | * The above copyright notice and this permission notice shall be included in
|
13 | 13 | * all copies or substantial portions of the Software.
|
14 |
| - * |
| 14 | + * <p> |
15 | 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 | 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 | 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29 | 29 | import java.util.concurrent.Executors;
|
30 | 30 | import java.util.concurrent.TimeUnit;
|
31 | 31 |
|
| 32 | +/** |
| 33 | + * In Balking Design Pattern if an object’s method is invoked when it is in an inappropriate state, |
| 34 | + * then the method will return without doing anything. Objects that use this pattern are generally only in a |
| 35 | + * state that is prone to balking temporarily but for an unknown amount of time |
| 36 | + * |
| 37 | + * In this example implementation WashingMachine is an object that has two states |
| 38 | + * in which it can be: ENABLED and WASHING. If the machine is ENABLED |
| 39 | + * the state is changed into WASHING that any other thread can't invoke this action on this and then do the job. |
| 40 | + * On the other hand if it have been already washing and any other thread execute wash() |
| 41 | + * it can't do that once again and returns doing nothing. |
| 42 | + */ |
| 43 | + |
32 | 44 | public class App {
|
33 | 45 |
|
34 | 46 | private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
|
|
0 commit comments