# Interface: com.pnfsoftware.jeb.core.units.code.asm.analyzer.IBinaryPattern

Definition of a binary pattern. The pattern can be masked. The basic verification routine does something like: `if(checkedByte[i] == (pattern[i] & mask[i])) ... `

## Method: getBinary
- return type: `byte[]`

Description: Binary bytes. Mandatory.
return: 

## Method: getExtra
- return type: `java.lang.Object`

Description: Get some extra data associated to this pattern. Client specific.
return: optional data

## Method: getMask
- return type: `byte[]`

Description: Binary mask. Optional. If present, must have same length as [#getBinary()](#getBinary()).
return: 

## Method: getProcessorMode
- return type: `int`

Description: Valid processor mode for this Binary Pattern. Can be [IProcessor#MODE_DEFAULT](IProcessor#MODE_DEFAULT) if valid in any mode.
return: 

## Method: getRealStartOffset
- return type: `int`

Description: The real start offset.
return: 

## Method: validate
- parameter: `gca`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzer<?>`
- parameter: `address`, type: `long`
- parameter: `buffer`, type: `byte[]`
- parameter: `offset`, type: `int`
- parameter: `offsetEnd`, type: `int`
- return type: `boolean`

Description: Final validation. Optional method.
parameter: gca: 
parameter: address: 
parameter: buffer: 
parameter: offset: 
parameter: offsetEnd: 
return: 

