Class MethodContact

java.lang.Object
org.simpleframework.xml.core.MethodContact
All Implemented Interfaces:
Contact, Type

class MethodContact extends Object implements Contact
The MethodContact object is acts as a contact that can set and get data to and from an object using methods. This requires a get method and a set method that share the same class type for the return and parameter respectively.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private MethodPart
    This is the get method which is used to get the value.
    private Class
    This is the dependent type as taken from the get method.
    private Class[]
    This is the dependent types as taken from the get method.
    private Annotation
    This is the label that marks both the set and get methods.
    private String
    This represents the name of the method for this contact.
    private Class
    This represents the declaring class for this method.
    private MethodPart
    This is the set method which is used to set the value.
    private Class
    This is the type associated with this point of contact.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for the MethodContact object.
    Constructor for the MethodContact object.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(Object source)
    This is used to get the specified value on the provided object.
    This is the annotation associated with the point of contact.
    <T extends Annotation>
    T
    This is the annotation associated with the point of contact.
    This is the class that declares the contact.
    This provides the dependent class for the contact.
    This provides the dependent classes for the contact.
    This is used to acquire the name of the method.
    This returns the get part of the method.
    This will provide the contact type.
    This returns the set part of the method.
    boolean
    This is used to determine if the annotated contact is for a read only variable.
    void
    set(Object source, Object value)
    This is used to set the specified value on the provided object.
    This is used to describe the contact as it exists within the owning class.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • label

      private Annotation label
      This is the label that marks both the set and get methods.
    • set

      private MethodPart set
      This is the set method which is used to set the value.
    • get

      private MethodPart get
      This is the get method which is used to get the value.
    • items

      private Class[] items
      This is the dependent types as taken from the get method.
    • owner

      private Class owner
      This represents the declaring class for this method.
    • item

      private Class item
      This is the dependent type as taken from the get method.
    • type

      private Class type
      This is the type associated with this point of contact.
    • name

      private String name
      This represents the name of the method for this contact.
  • Constructor Details

    • MethodContact

      public MethodContact(MethodPart get)
      Constructor for the MethodContact object. This is used to compose a point of contact that makes use of a get and set method on a class. The specified methods will be invoked during the serialization process to get and set values.
      Parameters:
      get - this forms the get method for the object
    • MethodContact

      public MethodContact(MethodPart get, MethodPart set)
      Constructor for the MethodContact object. This is used to compose a point of contact that makes use of a get and set method on a class. The specified methods will be invoked during the serialization process to get and set values.
      Parameters:
      get - this forms the get method for the object
      set - this forms the get method for the object
  • Method Details

    • isReadOnly

      public boolean isReadOnly()
      This is used to determine if the annotated contact is for a read only variable. A read only variable is a field that can be set from within the constructor such as a blank final variable. It can also be a method with no set counterpart.
      Specified by:
      isReadOnly in interface Contact
      Returns:
      this returns true if the contact is a constant one
    • getRead

      public MethodPart getRead()
      This returns the get part of the method. Acquiring separate parts of the method ensures that method parts can be inherited easily between types as overriding either part of a property.
      Returns:
      this returns the get part of the method contact
    • getWrite

      public MethodPart getWrite()
      This returns the set part of the method. Acquiring separate parts of the method ensures that method parts can be inherited easily between types as overriding either part of a property.
      Returns:
      this returns the set part of the method contact
    • getAnnotation

      public Annotation getAnnotation()
      This is the annotation associated with the point of contact. This will be an XML annotation that describes how the contact should be serialized and deserialized from the object.
      Specified by:
      getAnnotation in interface Contact
      Returns:
      this provides the annotation associated with this
    • getAnnotation

      public <T extends Annotation> T getAnnotation(Class<T> type)
      This is the annotation associated with the point of contact. This will be an XML annotation that describes how the contact should be serialized and deserialized from the object.
      Specified by:
      getAnnotation in interface Type
      Parameters:
      type - this is the type of the annotation to acquire
      Returns:
      this provides the annotation associated with this
    • getType

      public Class getType()
      This will provide the contact type. The contact type is the class that is to be set and get on the object. This represents the return type for the get and the parameter for the set.
      Specified by:
      getType in interface Type
      Returns:
      this returns the type that this contact represents
    • getDependent

      public Class getDependent()
      This provides the dependent class for the contact. This will actually represent a generic type for the actual type. For contacts that use a Collection type this will be the generic type parameter for that collection.
      Specified by:
      getDependent in interface Contact
      Returns:
      this returns the dependent type for the contact
    • getDependents

      public Class[] getDependents()
      This provides the dependent classes for the contact. This will typically represent a generic types for the actual type. For contacts that use a Map type this will be the generic type parameter for that map type declaration.
      Specified by:
      getDependents in interface Contact
      Returns:
      this returns the dependent type for the contact
    • getDeclaringClass

      public Class getDeclaringClass()
      This is the class that declares the contact. The declaring class is where the method represented has been defined. This will typically be a class rather than an interface.
      Specified by:
      getDeclaringClass in interface Contact
      Returns:
      this returns the class the contact is declared within
    • getName

      public String getName()
      This is used to acquire the name of the method. This returns the name of the method without the get, set or is prefix that represents the Java Bean method type. Also this decapitalizes the resulting name. The result is used to represent the XML attribute of element within the class schema represented.
      Specified by:
      getName in interface Contact
      Returns:
      this returns the name of the method represented
    • set

      public void set(Object source, Object value) throws Exception
      This is used to set the specified value on the provided object. The value provided must be an instance of the contact class so that it can be set without a runtime class compatibility error.
      Specified by:
      set in interface Contact
      Parameters:
      source - this is the object to set the value on
      value - this is the value that is to be set on the object
      Throws:
      Exception
    • get

      public Object get(Object source) throws Exception
      This is used to get the specified value on the provided object. The value returned from this method will be an instance of the contact class type. If the returned object is of a different type then the serialization process will fail.
      Specified by:
      get in interface Contact
      Parameters:
      source - this is the object to acquire the value from
      Returns:
      this is the value that is acquired from the object
      Throws:
      Exception
    • toString

      public String toString()
      This is used to describe the contact as it exists within the owning class. It is used to provide error messages that can be used to debug issues that occur when processing a contact. The string provided contains both the set and get methods.
      Specified by:
      toString in interface Contact
      Specified by:
      toString in interface Type
      Overrides:
      toString in class Object
      Returns:
      this returns a string representation of the contact