<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Resolver\AutoGenerationInterface;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * if you want to extend it or change, then remove interface AutoGenerationInterface
 * and it will be managed by you, not axtiva/flexible-graphql-php code generator
 * PHP representation of graphql type CustomAttributeFieldDescription
 * The CustomAttribute field description */
final class CustomAttributeFieldDescriptionType implements AutoGenerationInterface, IFieldDescriptionInterface
{
    /**
     * Gets the custom attribute info
     */
    public ?CustomAttributeInfoType $info = null;
    /**
     * Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)
     */
    public ?string $canonicalType = null;
    /**
     * Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)
     */
    public ?string $canonicalValueType = null;
    /**
     * Gets the label or column header within tables
     */
    public ?string $columnHeader = null;
    /**
     * Gets the internal field id
     */
    public string $fieldId;
    /**
     * The nature for a field
     */
    public ?FieldNatureEnum $nature = null;
    /**
     * Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)
     */
    public ?string $type = null;
    /**
     * Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)
     */
    public ?string $valueType = null;
    /**
     * Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)
     */
    public ?FieldWidthEnumEnum $webFieldWidth = null;
    /**
     * Returns whether a field value is encrypted within the database or not.
     */
    public ?bool $isEncrypted = null;
    /**
     * Checks whether a field is an enumeration value or not.
     */
    public ?bool $isEnumeration = null;
    /**
     * Checks whether a field is an id field or not.
     */
    public ?bool $isIdField = null;
    /**
     * Checks whether a field is a key field or not.
     */
    public ?bool $isKeyField = null;
    /**
     * A flag whether this field can contain line breaks
     */
    public ?bool $isMultilineField = null;
    /**
     * Checks whether a field is a numeric field.
     */
    public ?bool $isNumeric = null;
}