public static MESSAGE_TYPE parseString()

in SdmxApi/src/main/java/org/sdmxsource/sdmx/api/constants/MESSAGE_TYPE.java [118:209]


    public static MESSAGE_TYPE parseString(String messageType) {
        if (messageType == null) {
            throw new IllegalArgumentException("MESSAGE_TYPE.parseString can not parse null");
        }

        // Dataset messages
        if (messageType.equals("StructureSpecificTimeSeriesData")
                || messageType.equals("StructureSpecificData")) {
            return MESSAGE_TYPE.COMPACT_DATA;
        }
        if (messageType.equals("GenericTimeSeriesData")) {
            return MESSAGE_TYPE.GENERIC_DATA;
        }

        // Data and metadata query v2.1 messages
        if (messageType.equals("GenericDataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("StructureSpecificDataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("GenericTimeSeriesDataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("StructureSpecificTimeSeriesDataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("GenericMetadataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("StructureSpecificMetadataQuery")) {
            return MESSAGE_TYPE.QUERY;
        }

        // Structure query v2.1 messages
        if (messageType.equals("StructuresQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("DataflowQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("MetadataflowQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("DataStructureQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("MetadataStructureQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("CategorySchemeQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("ConceptSchemeQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("CodelistQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("HierarchicalCodelistQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("OrganisationSchemeQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("ReportingTaxonomyQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("StructureSetQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("ProcessQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("CategorisationQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("ProvisionAgreementQuery")) {
            return MESSAGE_TYPE.QUERY;
        }
        if (messageType.equals("ConstraintQuery")) {
            return MESSAGE_TYPE.QUERY;
        }

        // check messages that the enumeration value correspont to message root element name
        for (MESSAGE_TYPE currentType : MESSAGE_TYPE.values()) {
            if (currentType.getNodeName().equalsIgnoreCase(messageType)) {
                return currentType;
            }
        }
        throw new IllegalArgumentException("'" + messageType + "' is not a known root node for an SDMX message");
    }