Can anybody say my below code is a variable, function or something else

Total Post:22

Points:154
Java 
 1210  View(s)
Ratings:
Rate this:

I was going through some application's source code and I came across this piece of code and I am not able to understand what this is.

public enum XStreamUserType {

MES_CONFIG_XSTREAM(MESConstants.MES_CONFIG_XSTREAM_USER, "MES_CONFIG_XSTREAM_USER", new XStream());
private int userTypeId;
private String userType;
private XStream xStream;
private XStreamUserType(int userTypeId, String userType, XStream xStream) {
    this.userTypeId = userTypeId;
    this.userType = userType;
    this.xStream = xStream;
    switch (this.userTypeId) {
    case MESConstants.MES_CONFIG_XSTREAM_USER:
        loadConfigReader();
        break;
    default:
    }
}


What does this line mean?

MES_CONFIG_XSTREAM(MESConstants.MES_CONFIG_XSTREAM_USER, "MES_CONFIG_XSTREAM_USER",    new XStream());
  1. Post:30

    Points:210
    Re: Can anybody say my below code is a variable, function or something else

    In java enum can also have instance variables and constructors like a class.

    Here enum XStreamUserType has three instance variables


    private int userTypeId;
    
    private String userType;
    private XStream xStream;


    while

    private XStreamUserType(int userTypeId, String userType, XStream xStream) {
    
        this.userTypeId = userTypeId;
        this.userType = userType;
        this.xStream = xStream;
        switch (this.userTypeId) {
        case MESConstants.MES_CONFIG_XSTREAM_USER:
            loadConfigReader();
            break;
        default:
        }
    }


    is constructor.

    MES_CONFIG_XSTREAM is enum variable(can be interpreted as object of a class), initialized as

    ES_CONFIG_XSTREAM(MESConstants.MES_CONFIG_XSTREAM_USER, "MES_CONFIG_XSTREAM_USER", new XStream()); with values to its instance variables(as a constructor call).

      Modified On Apr-03-2018 04:30:32 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!