Class ClassMemberLocation<T>

  • Direct Known Subclasses:
    FieldLocation

    public abstract class ClassMemberLocation<T>
    extends Location<T>
    A Location whose value is that of a named field/method of an object. The object is used as the owning Location's value. (For now, only fields are supported.)
    • Constructor Detail

      • ClassMemberLocation

        public ClassMemberLocation​(java.lang.Object instance,
                                   java.lang.String cname,
                                   java.lang.String mname)
      • ClassMemberLocation

        public ClassMemberLocation​(java.lang.Object instance,
                                   ClassType type,
                                   java.lang.String mname)
      • ClassMemberLocation

        public ClassMemberLocation​(java.lang.Object instance,
                                   java.lang.Class clas,
                                   java.lang.String mname)
      • ClassMemberLocation

        public ClassMemberLocation​(java.lang.Object instance,
                                   java.lang.reflect.Field field)
    • Method Detail

      • getInstance

        public final java.lang.Object getInstance()
      • setInstance

        public final void setInstance​(java.lang.Object obj)
      • getMemberName

        public java.lang.String getMemberName()
      • getDeclaringClass

        public ClassType getDeclaringClass()
      • getDeclaringClassname

        public java.lang.String getDeclaringClassname()
      • getRField

        public java.lang.reflect.Field getRField()
      • getRClass

        public java.lang.Class getRClass()
        Return the Class this member is in.
      • get

        public T get​(T defaultValue)
        Overrides:
        get in class Location<T>
      • isBound

        public boolean isBound()
        Specified by:
        isBound in class Location<T>
      • set

        public void set​(T value)
        Specified by:
        set in class Location<T>
      • define

        public static void define​(java.lang.Object instance,
                                  java.lang.reflect.Field rfield,
                                  java.lang.String uri,
                                  Language language,
                                  Environment env)
                           throws java.lang.IllegalAccessException
        Throws:
        java.lang.IllegalAccessException
      • defineAll

        public static void defineAll​(java.lang.Object instance,
                                     Language language,
                                     Environment env)
                              throws java.lang.IllegalAccessException
        Import all the public fields of an object.
        Throws:
        java.lang.IllegalAccessException