Class AbstractTypeRef

  • All Implemented Interfaces:
    IType, java.io.Serializable

    public abstract class AbstractTypeRef
    extends ITypeRef
    implements java.io.Serializable
    This is what the proxy methods look like.
    
    public ITypeLoader getTypeLoader() {
      _reload();
      IType itype;
      try {
        itype = (IType) _getType();
      } catch (ClassCastException classcastexception) {
        throw new RuntimeException((new StringBuilder("Type interface changed.  Expected gw.internal.gosu.parser.IGosuClassInternal for ")).append(_getTypeNameInternal()).toString(), classcastexception);
      }
      return (ITypeLoader) itype.getTypeLoader();
    }
    
    See Also:
    Serialized Form
    • Field Detail

      • _typeName

        private transient java.lang.String _typeName
      • _type

        protected transient volatile IType _type
      • _module

        private transient IModule _module
      • _pureGenericTypeName

        private transient java.lang.String _pureGenericTypeName
      • _componentType

        private transient IType _componentType
      • _typeParameters

        private transient IType[] _typeParameters
      • _bParameterized

        private transient boolean _bParameterized
      • _mdChecksum

        private transient int _mdChecksum
      • _hashCode

        private transient volatile int _hashCode
      • _bStale

        private transient volatile boolean _bStale
      • _bReloading

        private transient volatile boolean _bReloading
      • _deleted

        private transient boolean _deleted
      • _bReloadable

        private transient boolean _bReloadable
    • Constructor Detail

      • AbstractTypeRef

        public AbstractTypeRef()
    • Method Detail

      • writeObject

        private void writeObject​(java.io.ObjectOutputStream os)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.lang.ClassNotFoundException,
                                java.io.IOException
        Throws:
        java.lang.ClassNotFoundException
        java.io.IOException
      • readResolve

        public java.lang.Object readResolve()
                                     throws java.io.ObjectStreamException
        Description copied from interface: IType
        IType requires this method be implemented to ensure IType instances can be centrally defined and cached.
        Specified by:
        readResolve in interface IType
        Throws:
        java.io.ObjectStreamException
      • _setType

        void _setType​(IType type)
      • isStale

        public final boolean isStale()
      • setReloadable

        public void setReloadable​(boolean bReloadable)
        Specified by:
        setReloadable in class ITypeRef
      • getModule

        public IModule getModule()
      • unloadTypeInfo

        public void unloadTypeInfo()
        Description copied from interface: IType
        Unload or nullify any references to this IType's ITypeInfo.
        Specified by:
        unloadTypeInfo in interface IType
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • _getType

        protected final IType _getType()
      • checkNotDeleted

        private void checkNotDeleted()
      • _reload

        protected final void _reload()
      • _resolveType

        private void _resolveType()
      • _getTypeName

        public java.lang.String _getTypeName()
      • _getTypeNameLong

        public java.lang.String _getTypeNameLong()
      • _getIndexForSortingFast

        public int _getIndexForSortingFast​(java.lang.String key)
      • isDiscarded

        public boolean isDiscarded()
        Description copied from interface: IType
        True if this type has been replaced with a newer version of the same name in the type system.
        Specified by:
        isDiscarded in interface IType
      • setDiscarded

        public void setDiscarded​(boolean bDiscarded)
        Specified by:
        setDiscarded in interface IType
      • _getTypeNameInternal

        public java.lang.String _getTypeNameInternal()
        This method is called reflectively.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object