Class TypeRegistry


public class TypeRegistry extends ContributionFragmentRegistry<Type>
  • Field Details

  • Constructor Details

    • TypeRegistry

      public TypeRegistry()
  • Method Details

    • getContributionId

      public String getContributionId(Type contrib)
      Description copied from class: ContributionFragmentRegistry
      Returns the contribution ID given the contribution object
      Specified by:
      getContributionId in class ContributionFragmentRegistry<Type>
    • contributionUpdated

      public void contributionUpdated(String id, Type contrib, Type newOrigContrib)
      Description copied from class: ContributionFragmentRegistry
      Adds or updates a contribution.

      If the contribution doesn't yet exists then it will be added, otherwise the value will be updated. If the given value is null the existing contribution must be removed.

      The second parameter is the contribution that should be updated when merging, as well as stored and used. This usually represents a clone of the original contribution or a merge of multiple contribution fragments. Modifications on this object at application level will be lost on next method call on the same object id: modifications should be done in the ContributionFragmentRegistry.merge(Object, Object) method.

      The last parameter is the new contribution object, unchanged (original) which was neither cloned nor merged. This object should never be modified at application level, because it will be used each time a subsequent merge is done. Also, it never should be stored.

      Specified by:
      contributionUpdated in class ContributionFragmentRegistry<Type>
      Parameters:
      id - - the id of the contribution that needs to be updated
      contrib - the updated contribution object that
      newOrigContrib - - the new, unchanged (original) contribution fragment that triggered the update.
    • contributionRemoved

      public void contributionRemoved(String id, Type origContrib)
      Description copied from class: ContributionFragmentRegistry
      All the fragments in the contribution was removed. Contribution must be unregistered.

      The first parameter is the contribution ID that should be remove and the second parameter the original contribution fragment that as unregistered causing the contribution to be removed.

      Specified by:
      contributionRemoved in class ContributionFragmentRegistry<Type>
    • clone

      public Type clone(Type orig)
      Description copied from class: ContributionFragmentRegistry
      CLone the given contribution object
      Specified by:
      clone in class ContributionFragmentRegistry<Type>
    • merge

      public void merge(Type newType, Type oldType)
      Description copied from class: ContributionFragmentRegistry
      Merge 'src' into 'dst'. When merging only the 'dst' object is modified.
      Specified by:
      merge in class ContributionFragmentRegistry<Type>
      Parameters:
      newType - the object to copy over the 'dst' object
      oldType - this object is modified
    • hasType

      public boolean hasType(String id)
    • getTypes

      public Collection<Type> getTypes()
    • getType

      public Type getType(String id)
    • recomputeTypes

      protected void recomputeTypes()
      Since:
      8.10
    • getCoreAllowedSubtypes

      protected Map<String,SubType> getCoreAllowedSubtypes(Type type)
      Since:
      8.10
    • updateCoreContribution

      protected void updateCoreContribution(String id, Type contrib)
      Since:
      8.4
    • removeCoreContribution

      protected void removeCoreContribution(String id)
      Since:
      8.4