1: <?php
2:
3:
4: namespace BeerXML\Generator;
5:
6:
7: interface IFermentable
8: {
9:
10: /**
11: * May be TRUE if this item is normally added after the boil. The default value is FALSE since most grains are
12: * added during the mash or boil.
13: *
14: * @return boolean
15: */
16: public function getAddAfterBoil();
17:
18: /**
19: * Weight of the fermentable, extract or sugar in Kilograms.
20: *
21: * @return number
22: */
23: public function getAmount();
24:
25: /**
26: * Percent difference between the coarse grain yield and fine grain yield.
27: * Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored.
28: *
29: * @return number
30: */
31: public function getCoarseFineDiff();
32:
33: /**
34: * The color of the item in Lovibond Units (SRM for liquid extracts).
35: *
36: * @return float
37: */
38: public function getColor();
39:
40: /**
41: * The diastatic power of the grain as measured in "Lintner" units.
42: * Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored.
43: *
44: * @return float
45: */
46: public function getDiastaticPower();
47:
48: /**
49: * For hopped extracts only - an estimate of the number of IBUs per pound of extract in a gallon of water.
50: * To convert to IBUs we multiply this number by the "AMOUNT" field (in pounds) and divide by the number of gallons
51: * in the batch. Based on a sixty minute boil.
52: * Only suitable for use with an "Extract" type, otherwise this value is ignored.
53: *
54: * @return float
55: */
56: public function getIbuGalPerLb();
57:
58: /**
59: * The recommended maximum percentage (by weight) this ingredient should represent in a batch of beer.
60: *
61: * @return number
62: */
63: public function getMaxInBatch();
64:
65: /**
66: * Percent moisture in the grain.
67: * Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored.
68: *
69: * @return number
70: */
71: public function getMoisture();
72:
73: /**
74: * Name of the fermentable.
75: *
76: * @return string
77: */
78: public function getName();
79:
80: /**
81: * Textual noted describing this ingredient and its use. May be multiline.
82: *
83: * @return string
84: */
85: public function getNotes();
86:
87: /**
88: * Country or place of origin
89: *
90: * @return string
91: */
92: public function getOrigin();
93:
94: /**
95: * The percent protein in the grain.
96: * Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored.
97: *
98: * @return number
99: */
100: public function getProtein();
101:
102: /**
103: * TRUE if it is recommended the grain be mashed, FALSE if it can be steeped.
104: * A value of TRUE is only appropriate for a "Grain" or "Adjunct" types. The default value is FALSE.
105: * Note that this does NOT indicate whether the grain is mashed or not – it is only a recommendation used in recipe
106: * formulation.
107: *
108: * @return boolean
109: */
110: public function getRecommendMash();
111:
112: /**
113: * Supplier of the grain/extract/sugar
114: *
115: * @return string
116: */
117: public function getSupplier();
118:
119: /**
120: * May be "Grain", "Sugar", "Extract", "Dry Extract" or "Adjunct". Extract refers to liquid extract.
121: *
122: * @return string
123: */
124: public function getType();
125:
126: /**
127: * Should be set to 1 for this version of the XML standard.
128: * May be a higher number for later versions but all later versions shall be backward compatible.
129: *
130: * @return int
131: */
132: public function getVersion();
133:
134: /**
135: * Percent dry yield (fine grain) for the grain, or the raw yield by weight if this is an extract adjunct or sugar.
136: *
137: * @return number
138: */
139: public function getYield();
140: }