/**
* 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.camel.component.dozer;
import org.apache.camel.converter.dozer.DozerBeanMapperConfiguration;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriParams;
import org.apache.camel.spi.UriPath;
import static org.dozer.util.DozerConstants.DEFAULT_MAPPING_FILE;
/**
* Configuration used for a Dozer endpoint.
*/
@UriParams
public class DozerConfiguration {
@UriPath @Metadata(required = "true")
private String name;
@UriParam
private String marshalId;
@UriParam
private String unmarshalId;
@UriParam
private String sourceModel;
@UriParam @Metadata(required = "true")
private String targetModel;
@UriParam(defaultValue = DEFAULT_MAPPING_FILE)
private String mappingFile;
@UriParam
private DozerBeanMapperConfiguration mappingConfiguration;
public DozerConfiguration() {
setMappingFile(DEFAULT_MAPPING_FILE);
}
public String getMarshalId() {
return marshalId;
}
/**
* The id of a dataFormat defined within the Camel Context to use for marshalling the mapping output to a non-Java type.
*/
public void setMarshalId(String marshalId) {
this.marshalId = marshalId;
}
public String getUnmarshalId() {
return unmarshalId;
}
/**
* The id of a dataFormat defined within the Camel Context to use for unmarshalling the mapping input from a non-Java type.
*/
public void setUnmarshalId(String unmarshalId) {
this.unmarshalId = unmarshalId;
}
public String getSourceModel() {
return sourceModel;
}
/**
* Fully-qualified class name for the source type used in the mapping. If specified, the input to the mapping is converted to the specified type before being mapped with Dozer.
*/
public void setSourceModel(String sourceModel) {
this.sourceModel = sourceModel;
}
public String getTargetModel() {
return targetModel;
}
/**
* Fully-qualified class name for the target type used in the mapping.
*/
public void setTargetModel(String targetModel) {
this.targetModel = targetModel;
}
public String getName() {
return name;
}
/**
* A human readable name of the mapping.
*/
public void setName(String name) {
this.name = name;
}
public String getMappingFile() {
return mappingFile;
}
/**
* The location of a Dozer configuration file. The file is loaded from the classpath by default,
* but you can use file:, classpath:, or http: to load the configuration from a specific location.
*/
public void setMappingFile(String mappingFile) {
this.mappingFile = mappingFile;
}
public DozerBeanMapperConfiguration getMappingConfiguration() {
return mappingConfiguration;
}
/**
* The name of a DozerBeanMapperConfiguration bean in the Camel registry which should be used for configuring the Dozer mapping.
* This is an alternative to the mappingFile option that can be used for fine-grained control over how Dozer is configured.
* Remember to use a "#" prefix in the value to indicate that the bean is in the Camel registry (e.g. "#myDozerConfig").
*/
public void setMappingConfiguration(DozerBeanMapperConfiguration mappingConfiguration) {
this.mappingConfiguration = mappingConfiguration;
}
}