Class ConceptInLoadingStorage<T>


  • public final class ConceptInLoadingStorage<T>
    extends Object
    T could be a concept fq name or any other id-like object Thread-safe storage class. Using ThreadLocal to get rid of concurrency flaws. ConcurrentMap is not suitable since, for example, during the parallel generation we are likely to get IllegalConceptDescriptor for some of the core baseLanguage concepts (e.g. ConstructorDeclaration). Illegal behavior descriptor breaks the generation, so that implementation is unacceptable. We do need such a storage because there might be invocation cycle Created by apyshkin on 7/15/15.
    • Constructor Detail

      • ConceptInLoadingStorage

        public ConceptInLoadingStorage()
    • Method Detail

      • startLoading

        public boolean startLoading​(@NotNull
                                    T concept)
        Parameters:
        concept - -- a concept
        Returns:
        true iff loading has been started successfully (i.e. the concept is not already in a loading state)
      • finishLoading

        public void finishLoading​(@NotNull
                                  T concept)