# Class: com.pnfsoftware.jeb.core.output.tree.CodeNodeUtil

Convenience methods to filter [ICodeNode](ICodeNode)s.

## Constructor: CodeNodeUtil


## Static Field: IS_ARTIFICIAL
Type: `int`

Constant value: `16`
Description: The code item is artificial

## Static Field: IS_CLASS
Type: `int`

Constant value: `131072`
Description: The code item implements [ICodeClass](ICodeClass)

## Static Field: IS_FIELD
Type: `int`

Constant value: `262144`
Description: The code item implements [ICodeField](ICodeField)

## Static Field: IS_INTERNAL
Type: `int`

Constant value: `256`
Description: The code item is internal

## Static Field: IS_METHOD
Type: `int`

Constant value: `524288`
Description: The code item implements [ICodeMethod](ICodeMethod)

## Static Field: IS_PACKAGE
Type: `int`

Constant value: `32768`
Description: The code item implements [ICodePackage](ICodePackage)

## Static Field: IS_TYPE
Type: `int`

Constant value: `65536`
Description: The code item implements [ICodeType](ICodeType)

## Static Method: cannotBe
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- parameter: `flags`, type: `int`
- return type: `boolean`


## Static Method: getChildren
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- parameter: `included`, type: `int`
- parameter: `excluded`, type: `int`
- return type: `java.util.List<com.pnfsoftware.jeb.core.output.tree.ICodeNode>`

Description: Get the children nodes that meet the provided criteria. Refer to the `IS_xxx` possible flags returned by [#getItemFlags()](#getItemFlags()).
parameter: node: parent code node
parameter: included: if non\-0, candidates children MUST have the flags set
parameter: excluded: if non\-0, candidates children MUST NOT have the flags set
return: the list of children

## Static Method: getPackageNameFromHierarchy
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- return type: `java.lang.String`

Description: Get full package name from hierarchy, e.g. package 'bar' located in packages std\-\>foo is named 'std::foo::bar'.
return: full package name using C\+\+ separator, null if node is not a package

## Static Method: hasChildren
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- parameter: `included`, type: `int`
- parameter: `excluded`, type: `int`
- return type: `boolean`


## Static Method: meetsConditions
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- parameter: `included`, type: `int`
- parameter: `excluded`, type: `int`
- return type: `boolean`

Description: Verify if this node meets the provided criteria. Refer to the `IS_xxx` possible flags returned by [#getItemFlags()](#getItemFlags()).
parameter: node: node to be tested
parameter: included: these flags MUST be set
parameter: excluded: these flags MUST NOT be set
return: true iff the node meets the required conditions

## Static Method: mustBe
- parameter: `node`, type: `com.pnfsoftware.jeb.core.output.tree.ICodeNode`
- parameter: `flags`, type: `int`
- return type: `boolean`


