# FlexibleComponent<T>

Class in Arbor / Inherits from: FlexibleComponentBase
Implements interfaces: IValueGetter<T>

## Description

Class to handle a flexible Component type reference method there is more than one(Generic).

### Type Parameters

Type Parameter Name | Description | Type Constraints
--- | --- | ---
T | Specify Component Type | Component

## Constructors

| Description
--- | ---
FlexibleComponent | FlexibleComponent<T> default constructor

## Fields

Field Name | Description
--- | ---
_Parameter | Parameter reference
_Slot | Data input slot
_Value | Constant value

## Properties

Property Name | Description
--- | ---
parameter | It return a Paramter. It is null if Type is other than Parameter.
value | It returns a value

## Methods

Method Name | Description
--- | ---
Disconnect | Disconnect the data slot.
GetConstantObject | Returns an Object of FlexibleSceneObjectType.Constant.
GetValueObject | Return the value as object.
ToFlexibleComponent | Convert to FlexibleComponent and return it.

## Operators

Operator Name | Description
--- | ---
FlexibleComponent&lt;T&gt; | Cast T to FlexibleComponent<T>.
T | Cast FlexibleComponent<T> to T.

## Inherited Members

### Fields

Field Name | Description
--- | ---
_HierarchyType | Reference type of Hierarchy specified when Type is FlexibleSceneObjectType.Hierarchy.
_Type | Specified type of value

### Properties

Property Name | Description
--- | ---
fieldInfo | Return the FieldInfo that owns this instance
hierarchyType | In the case of FlexibleSceneObjectType.Hierarchy, return FlexibleHierarchyType representing which object to reference
ownerObject | Return the object that owns this instance
targetGameObject | Returns the GameObject to be referenced in case of FlexibleSceneObjectType.Hierarchy.
targetGraph | Returns the NodeGraph to be referenced in case of FlexibleSceneObjectType.Hierarchy.
type | It returns a type

### Methods

Method Name | Description
--- | ---
OnAssignedField | Called when assigned to a field under NodeBehaviour.
SetHierarchyIfConstantNull | Change to FlexibleSceneObjectType.Hierarchy if FlexibleSceneObjectType.Constant and the referencing object is null.