/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.isis.viewer.restfulobjects.applib; /** * Media types including the <tt>profile</tt> parameter. * * <p> * Because these values are used in the <tt>@Produces</tt> annotation on the jax-rs * resources, they must be constants and must be strings. * * @see http://buzzword.org.uk/2009/draft-inkster-profile-parameter-00.html */ public final class RestfulMediaType { private RestfulMediaType() { } static final String PROFILE_PARAM_PREFIX = "urn:org.restfulobjects:repr-types/"; private static final String JSON_BASE = "application/json" + ";profile=" + PROFILE_PARAM_PREFIX; public final static String APPLICATION_JSON_HOME_PAGE = JSON_BASE + "homepage"; public final static String APPLICATION_JSON_USER = JSON_BASE + "user"; public final static String APPLICATION_JSON_VERSION = JSON_BASE + "version"; public final static String APPLICATION_JSON_LIST = JSON_BASE + "list"; public final static String APPLICATION_JSON_OBJECT = JSON_BASE + "object"; public final static String APPLICATION_JSON_OBJECT_PROPERTY = JSON_BASE + "object-property"; public final static String APPLICATION_JSON_OBJECT_COLLECTION = JSON_BASE + "object-collection"; public final static String APPLICATION_JSON_OBJECT_ACTION = JSON_BASE + "object-action"; public final static String APPLICATION_JSON_ACTION_RESULT = JSON_BASE + "action-result"; public final static String APPLICATION_JSON_TYPE_LIST = JSON_BASE + "type-list"; public final static String APPLICATION_JSON_DOMAIN_TYPE = JSON_BASE + "domain-type"; public final static String APPLICATION_JSON_PROPERTY_DESCRIPTION = JSON_BASE + "property-description"; public final static String APPLICATION_JSON_COLLECTION_DESCRIPTION = JSON_BASE + "collection-description"; public final static String APPLICATION_JSON_ACTION_DESCRIPTION = JSON_BASE + "action-description"; public final static String APPLICATION_JSON_ACTION_PARAMETER_DESCRIPTION = JSON_BASE + "action-param-description"; public final static String APPLICATION_JSON_ERROR = JSON_BASE + "error"; public final static String APPLICATION_JSON_TYPE_ACTION_RESULT = JSON_BASE + "type-action-result"; private static final String XML_BASE = "application/xml" + ";profile=" + PROFILE_PARAM_PREFIX; // currently only support a subset of representations in XML format // public final static String APPLICATION_XML_HOME_PAGE = XML_BASE + "homepage"; // public final static String APPLICATION_XML_USER = XML_BASE + "user"; // public final static String APPLICATION_XML_VERSION = XML_BASE + "version"; // public final static String APPLICATION_XML_LIST = XML_BASE + "list"; public final static String APPLICATION_XML_OBJECT = XML_BASE + "object"; public final static String APPLICATION_XML_OBJECT_PROPERTY = XML_BASE + "object-property"; public final static String APPLICATION_XML_OBJECT_COLLECTION = XML_BASE + "object-collection"; public final static String APPLICATION_XML_OBJECT_ACTION = XML_BASE + "object-action"; public final static String APPLICATION_XML_ACTION_RESULT = XML_BASE + "action-result"; // public final static String APPLICATION_XML_TYPE_LIST = XML_BASE + "type-list"; // public final static String APPLICATION_XML_DOMAIN_TYPE = XML_BASE + "domain-type"; // public final static String APPLICATION_XML_PROPERTY_DESCRIPTION = XML_BASE + "property-description"; // public final static String APPLICATION_XML_COLLECTION_DESCRIPTION = XML_BASE + "collection-description"; // public final static String APPLICATION_XML_ACTION_DESCRIPTION = XML_BASE + "action-description"; // public final static String APPLICATION_XML_ACTION_PARAMETER_DESCRIPTION = XML_BASE + "action-param-description"; public final static String APPLICATION_XML_ERROR = XML_BASE + "error"; // public final static String APPLICATION_XML_TYPE_ACTION_RESULT = XML_BASE + "type-action-result"; }