Package: grails.core

## [Java] Class DefaultArtefactInfo

- grails.core.DefaultArtefactInfo

- All Implemented Interfaces and Traits:
    ArtefactInfo

      public class DefaultArtefactInfo
      extends java.lang.Object
      implements ArtefactInfo

  Mutable holder of artefact info.

  Authors:
    Marc Palmer (marc@anyware.co.uk)
    Graeme Rocher

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `private java.lang.Class<?>[]` | `classes` |
    `private java.util.Map<java.lang.String, java.lang.Class<?>>` | `classesByName` |
    `private java.util.LinkedList<GrailsClass>` | `grailsClasses` |
    `private GrailsClass[]` | `grailsClassesArray` |
    `private java.util.Map<java.lang.String, GrailsClass>` | `grailsClassesByName` |
    `java.util.Map` | `handlerData` |
    `private java.util.Map<java.lang.String, GrailsClass>` | `logicalPropertyNameToClassMap` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `addGrailsClass(GrailsClass artefactClass)`
    `` | `private void` | `addGrailsClassInternal(GrailsClass artefactClass, boolean atStart)`
    `` | `public void` | `addOverridableGrailsClass(GrailsClass artefactGrailsClass)`
    `` | `public java.lang.Class<?>[]` | `getClasses()`
    `` | `public java.util.Map<java.lang.String, java.lang.Class<?>>` | `getClassesByName()`
    `` | `public GrailsClass` | `getGrailsClass(java.lang.String name)`
    `` | `public GrailsClass` | `getGrailsClassByLogicalPropertyName(java.lang.String logicalName)`
    `` | `public GrailsClass[]` | `getGrailsClasses()`
    `` | `public java.util.Map<java.lang.String, GrailsClass>` | `getGrailsClassesByName()`
    `` | `public void` | `updateComplete()` Refresh the arrays generated from the maps.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Field Detail

    - #### private java.lang.Class<?>[] classes

    - #### private java.util.Map<java.lang.String, java.lang.Class<?>> classesByName

    - #### private java.util.LinkedList<GrailsClass> grailsClasses

    - #### private GrailsClass[] grailsClassesArray

    - #### private java.util.Map<java.lang.String, GrailsClass> grailsClassesByName

    - #### @java.lang.SuppressWarnings("rawtypes") public java.util.Map handlerData

    - #### private java.util.Map<java.lang.String, GrailsClass> logicalPropertyNameToClassMap

  - ### Method Detail

    - #### public void addGrailsClass(GrailsClass artefactClass)

      Call to add a new class to this info object.

      You must call refresh() later to update the arrays

      Parameters:
        artefactClass

    - #### private void addGrailsClassInternal(GrailsClass artefactClass, boolean atStart)

    - #### public void addOverridableGrailsClass(GrailsClass artefactGrailsClass)

    - #### public java.lang.Class<?>[] getClasses()

    - #### public java.util.Map<java.lang.String, java.lang.Class<?>> getClassesByName()

    - #### public GrailsClass getGrailsClass(java.lang.String name)

    - #### public GrailsClass getGrailsClassByLogicalPropertyName(java.lang.String logicalName)

    - #### public GrailsClass[] getGrailsClasses()

    - #### public java.util.Map<java.lang.String, GrailsClass> getGrailsClassesByName()

    - #### public void updateComplete()

      Refresh the arrays generated from the maps.