/* * Copyright 2013 the original author or authors. * * Licensed 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.springframework.data.rest.core.config; import static org.springframework.data.rest.core.support.ResourceMappingUtils.*; import java.util.HashMap; import java.util.Map; /** * @author Jon Brisbin */ @Deprecated public class ResourceMapping { private String rel; private String path; private boolean exported = true; private final Map<String, ResourceMapping> resourceMappings = new HashMap<String, ResourceMapping>(); public ResourceMapping() {} public ResourceMapping(Class<?> type) { rel = findRel(type); path = findPath(type); exported = findExported(type); } public ResourceMapping(String rel, String path) { this.rel = rel; this.path = path; } public ResourceMapping(String rel, String path, boolean exported) { this.rel = rel; this.path = path; this.exported = exported; } public String getRel() { return rel; } public ResourceMapping setRel(String rel) { this.rel = rel; return this; } public String getPath() { return path; } public ResourceMapping setPath(String path) { this.path = path; return this; } public boolean isExported() { return exported; } public ResourceMapping setExported(boolean exported) { this.exported = exported; return this; } public ResourceMapping addResourceMappings(Map<String, ResourceMapping> mappings) { if (null == mappings) { return this; } resourceMappings.putAll(mappings); return this; } public ResourceMapping addResourceMappingFor(String name) { ResourceMapping rm = new ResourceMapping(); resourceMappings.put(name, rm); return rm; } public ResourceMapping getResourceMappingFor(String name) { return resourceMappings.get(name); } public boolean hasResourceMappingFor(String name) { return resourceMappings.containsKey(name); } public Map<String, ResourceMapping> getResourceMappings() { return resourceMappings; } public String getNameForPath(String path) { for (Map.Entry<String, ResourceMapping> mapping : resourceMappings.entrySet()) { if (mapping.getValue().getPath().equals(path)) { return mapping.getKey(); } } return path; } @Override public String toString() { return "ResourceMapping{" + "rel='" + rel + '\'' + ", path='" + path + '\'' + ", exported=" + exported + ", resourceMappings=" + resourceMappings + '}'; } }