public class BarCodeReader
extends java.lang.Object
BarCodeReader encapsulates an image which may contain one or several barcodes, it then can perform ReadBarCodes operation to detect barcodes.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
Constructor and Description |
---|
BarCodeReader()
Initializes a new instance of the
BarCodeReader class with default values. |
BarCodeReader(java.awt.image.BufferedImage image)
Initializes a new instance of the
BarCodeReader class from an image. |
BarCodeReader(java.awt.image.BufferedImage image,
BaseDecodeType... decodeTypes)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.awt.image.BufferedImage image,
BaseDecodeType decodeType)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.awt.image.BufferedImage image,
java.awt.Rectangle[] areas,
BaseDecodeType type)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.awt.image.BufferedImage image,
java.awt.Rectangle area,
BaseDecodeType... decodeTypes)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.io.InputStream stream)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.io.InputStream stream,
BaseDecodeType... decodeTypes)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.io.InputStream stream,
BaseDecodeType type)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.lang.String filename)
Initializes a new instance of the
BarCodeReader class from file. |
BarCodeReader(java.lang.String filename,
BaseDecodeType... decodeTypes)
Initializes a new instance of the
BarCodeReader class. |
BarCodeReader(java.lang.String filename,
BaseDecodeType type)
Initializes a new instance of the
BarCodeReader class. |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Function requests termination of current recognition session from other thread.
|
void |
dispose() |
boolean |
exportToXml(java.io.OutputStream xmlStream)
Exports BarCode properties to the xml-stream specified
|
boolean |
exportToXml(java.lang.String xmlFile)
Exports BarCode properties to the xml-file specified |
BaseDecodeType |
getBarCodeDecodeType()
Gets the decode type of the input barcode decoding
|
BarcodeSettings |
getBarcodeSettings()
The main BarCode decoding parameters.
|
BarCodeResult[] |
getFoundBarCodes()
Gets recognized
BarCodeResult s array |
int |
getFoundCount()
Gets recognized barcodes count
|
static ProcessorSettings |
getProcessorSettings()
Gets a settings of using processor cores.
|
QualitySettings |
getQualitySettings()
QualitySettings allows to configure recognition quality and speed manually.
|
int |
getTimeout()
Gets the timeout of recognition process in milliseconds.
|
static BarCodeReader |
importFromXml(java.io.InputStream xmlStream)
Imports BarCode properties from the xml-stream specified and applies them to the current BarCodeReader instance.
|
static BarCodeReader |
importFromXml(java.lang.String xmlFile)
Imports BarCode properties from the xml-file specified and applies them to the current BarCodeReader instance.
|
BarCodeResult[] |
readBarCodes()
Reads
BarCodeResult s from the image. |
void |
setBarCodeImage(java.awt.image.BufferedImage value)
Sets bitmap image for recognition.
|
void |
setBarCodeImage(java.awt.image.BufferedImage value,
java.awt.Rectangle area)
Sets bitmap image and area for recognition.
|
void |
setBarCodeImage(java.awt.image.BufferedImage value,
java.awt.Rectangle[] areas)
Sets bitmap image and areas for recognition.
|
void |
setBarCodeImage(java.io.InputStream stream)
Sets image stream for recognition.
|
void |
setBarCodeImage(java.lang.String filename)
Sets image file for recognition.
|
void |
setBarCodeReadType(BaseDecodeType type)
Sets decode type for recognition.
|
void |
setBarCodeReadType(SingleDecodeType... barcodeTypes)
Sets
SingleDecodeType type array for recognition. |
void |
setQualitySettings(QualitySettings value)
QualitySettings allows to configure recognition quality and speed manually.
|
void |
setTimeout(int value)
Sets the timeout of recognition process in milliseconds.
|
public BarCodeReader()
Initializes a new instance of the BarCodeReader
class with default values.
Requires to set image (SetBitmapImage()) before to call ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader(); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage("c:\\test.png"); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
public BarCodeReader(java.awt.image.BufferedImage image)
Initializes a new instance of the BarCodeReader
class from an image.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(bmp); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
image
- A Bitmap instance containing the imagepublic BarCodeReader(java.awt.image.BufferedImage image, BaseDecodeType decodeType)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(bmp, new MultyDecodeType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
image
- The image.decodeType
- The decode type1. It can be single or multypublic BarCodeReader(java.awt.image.BufferedImage image, BaseDecodeType... decodeTypes)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(bmp, DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
image
- The image.decodeTypes
- Decode types.public BarCodeReader(java.awt.image.BufferedImage image, java.awt.Rectangle area, BaseDecodeType... decodeTypes)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(bmp, new Rectangle(0, 0, bmp.getWidth(), bmp.getHeight()), DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
image
- The image.area
- The area for recognition.decodeTypes
- Decode types.public BarCodeReader(java.awt.image.BufferedImage image, java.awt.Rectangle[] areas, BaseDecodeType type)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(bmp, new Rectangle(0, 0, bmp.getWidth(), bmp.getHeight()), new MultyDecodeType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
image
- The image.areas
- The area for recognition.type
- The decode type.public BarCodeReader(java.lang.String filename)
Initializes a new instance of the BarCodeReader
class from file.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader("c:\\test.png"); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
filename
- The filename.public BarCodeReader(java.lang.String filename, BaseDecodeType type)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader("c:\\test.png", new MultyDecodeType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
filename
- The filename.type
- The decode type.public BarCodeReader(java.lang.String filename, BaseDecodeType... decodeTypes)
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
filename
- The filename.decodeTypes
- Decode types.public BarCodeReader(java.io.InputStream stream) throws java.io.IOException
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.InputStream fstr = new FileInputStream(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(fstr); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
stream
- The stream.java.io.IOException
public BarCodeReader(java.io.InputStream stream, BaseDecodeType type) throws java.io.IOException
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.InputStream fstr = new FileInputStream("c:\\test.png"); BarCodeReader reader = new BarCodeReader(fstr, new MultyDecodeType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
stream
- The stream.type
- The decode type.java.io.IOException
public BarCodeReader(java.io.InputStream stream, BaseDecodeType... decodeTypes) throws java.io.IOException
Initializes a new instance of the BarCodeReader
class.
This sample shows how to detect Code39 and Code128 barcodes.InputStream fstr = new FileInputStream("c:\\test.png")); BarCodeReader reader = new BarCodeReader(fstr, DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
stream
- The stream.decodeTypes
- Decode types.java.io.IOException
public static ProcessorSettings getProcessorSettings()
Gets a settings of using processor cores.
This sample shows how to use ProcessorSettings to add maximum multi-threaded performnce//this allows to use all cores for single BarCodeReader call BarCodeReader.getProcessorSettings().setUseAllCores(true); //this allows to use current count of cores BarCodeReader.getProcessorSettings().setUseAllCores(false); BarCodeReader.getProcessorSettings().setUseOnlyThisCoresCount(Math.max(1, Environment.getProcessorCount() / 2));
public int getTimeout()
Gets the timeout of recognition process in milliseconds.
BarCodeReader reader = new BarCodeReader("c:\\test.png"); reader.setTimeout(5000); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText());
public void setTimeout(int value)
Sets the timeout of recognition process in milliseconds.
BarCodeReader reader = new BarCodeReader("c:\\test.png"); reader.setTimeout(5000); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText());
value
- The timeout.public void abort()
Function requests termination of current recognition session from other thread. Abort is unblockable method and returns control just after calling. The method should be used when recognition process is too long.
This sample shows how to call Abort function from other threadfinal BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); Thread thread1 = new Thread(new Runnable() { public void run() { for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeType()); System.out.println("BarCode CodeText: " + result.getCodeText()); } } }); thread1.start(); Thread.sleep(100); reader.abort();
public BarCodeResult[] getFoundBarCodes()
Gets recognized BarCodeResult
s array
Value: The recognizedThis sample shows how to read barcodes with BarCodeReaderBarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); { reader.readBarCodes(); for(int i = 0; reader.getFoundCount() > i; ++i) System.out.println("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText()); }
BarCodeResult
s arraypublic int getFoundCount()
Gets recognized barcodes count
Value: The recognized barcodes countThis sample shows how to read barcodes with BarCodeReaderBarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.readBarCodes(); for(int i = 0; reader.getFoundCount() > i; ++i) System.out.println("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText());
public BarCodeResult[] readBarCodes()
Reads BarCodeResult
s from the image.
This sample shows how to read barcodes with BarCodeReaderBarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.readBarCodes(); for(int i = 0; reader.getFoundCount() > i; ++i) System.out.println("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText());
BarCodeResult
s on the image. If nothing is recognized, zero array is returned.public final QualitySettings getQualitySettings()
QualitySettings allows to configure recognition quality and speed manually. You can quickly set up QualitySettings by embedded presets: HighPerformance, NormalQuality, HighQuality, MaxBarCodes or you can manually configure separate options. Default value of QualitySettings is NormalQuality.
Value: QualitySettings to configure recognition quality and speed.This sample shows how to use QualitySettings with BarCodeReaderBarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //set high performance mode reader.setQualitySettings(QualitySettings.getHighPerformance()); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //normal quality mode is set by default for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //set high performance mode reader.setQualitySettings(QualitySettings.getHighPerformance()); //set separate options reader.getQualitySettings().setAllowMedianSmoothing(true); reader.getQualitySettings().setMedianSmoothingWindowSize(5); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText());
public final void setQualitySettings(QualitySettings value)
QualitySettings allows to configure recognition quality and speed manually. You can quickly set up QualitySettings by embedded presets: HighPerformance, NormalQuality, HighQuality, MaxBarCodes or you can manually configure separate options. Default value of QualitySettings is NormalQuality.
Value: QualitySettings to configure recognition quality and speed.This sample shows how to use QualitySettings with BarCodeReaderBarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //set high performance mode reader.setQualitySettings(QualitySettings.getHighPerformance()); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //normal quality mode is set by default for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText()); BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); //set high performance mode reader.setQualitySettings(QualitySettings.getHighPerformance()); //set separate options reader.getQualitySettings().setAllowMedianSmoothing(true); reader.getQualitySettings().setMedianSmoothingWindowSize(5); for(BarCodeResult result : reader.readBarCodes()) System.out.println("BarCode CodeText: " + result.getCodeText());
public BarcodeSettings getBarcodeSettings()
public final void setBarCodeImage(java.awt.image.BufferedImage value, java.awt.Rectangle[] areas)
Sets bitmap image and areas for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage(bmp, new Rectangle[] { new Rectangle(0, 0, bmp.getWidth(), bmp.getHeight()) }); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
value
- The bitmap image for recognition.areas
- areas list for recognitionpublic final void setBarCodeImage(java.awt.image.BufferedImage value, java.awt.Rectangle area)
Sets bitmap image and area for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage(bmp, new Rectangle(0, 0, bmp.getWidth(), bmp.getHeight())); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
value
- The bitmap image for recognition.area
- area for recognitionpublic final void setBarCodeImage(java.io.InputStream stream) throws java.io.IOException
Sets image stream for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.InputStream fstr = new FileInputStream(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader(); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage(fstr); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
stream
- The image stream for recogniton.java.io.IOException
public void setBarCodeImage(java.awt.image.BufferedImage value)
Sets bitmap image for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BufferedImage bmp = ImageIO.read(new File("c:\\test.png")); BarCodeReader reader = new BarCodeReader()) { reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage(bmp); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); } }
value
- The bitmap image for recognition.public void setBarCodeImage(java.lang.String filename)
Sets image file for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader()) { reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage("c:\\test.png"); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); } }
filename
- The image file for recogniton.public void setBarCodeReadType(SingleDecodeType... barcodeTypes)
Sets SingleDecodeType
type array for recognition.
Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader(); reader.setBarCodeReadType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage("c:\\test.png"); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
barcodeTypes
- The SingleDecodeType
type array to read.public void setBarCodeReadType(BaseDecodeType type)
Sets decode type for recognition. Must be called before ReadBarCodes() method.
This sample shows how to detect Code39 and Code128 barcodes.BarCodeReader reader = new BarCodeReader()) reader.setBarCodeReadType(new MultyDecodeType(DecodeType.CODE_39_STANDARD, DecodeType.CODE_128); reader.setBarCodeImage("c:\\test.png"); for(BarCodeResult result : reader.readBarCodes()) { System.out.println("BarCode Type: " + result.getCodeTypeName()); System.out.println("BarCode CodeText: " + result.getCodeText()); }
type
- The type of barcode to read.public void dispose()
public BaseDecodeType getBarCodeDecodeType()
public boolean exportToXml(java.lang.String xmlFile)
Exports BarCode properties to the xml-file specified
xmlFile
- The name of the fileReturns <b>True</b>
in case of success; <b>False</b>
Otherwise
public boolean exportToXml(java.io.OutputStream xmlStream) throws java.io.IOException
Exports BarCode properties to the xml-stream specified
xmlStream
- The xml-stream for savingReturns <b>True</b>
in case of success; <b>False</b>
Otherwise
java.io.IOException
public static BarCodeReader importFromXml(java.lang.String xmlFile)
Imports BarCode properties from the xml-file specified and applies them to the current BarCodeReader instance.
xmlFile
- The name of the file<b>True</b>
in case of success; <b>False</b>
Otherwise
public static BarCodeReader importFromXml(java.io.InputStream xmlStream)
Imports BarCode properties from the xml-stream specified and applies them to the current BarCodeReader instance.
xmlStream
- The xml-stream for loading<b>True</b>
in case of success; <b>False</b>
Otherwise