/*
* Copyright 2008 Lukas Lang
*
* 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.castor.cpa.util.classresolution.nature;
import org.castor.core.nature.BaseNature;
import org.castor.core.nature.PropertyHolder;
import org.exolab.castor.mapping.MappingLoader;
/**
* {@link MappingLoaderNature} provides a {@link MappingLoader}.
* @author Lukas Lang
* @since 1.2.1
*
*/
public final class MappingLoaderNature extends BaseNature {
/**
* Nature property name for {@link MappingLoader}.
*/
private static final String MAPPING_LOADER = "mappingloader";
/**
* Constructor taking a {@link PropertyHolder}.
* @param holder The {@link PropertyHolder} to use.
*/
public MappingLoaderNature(final PropertyHolder holder) {
super(holder);
}
/**
* Returns the Nature Id.
* @see org.castor.core.nature.Nature#getId()
* @return Fully qualified {@link Class} name.
*/
public String getId() {
return getClass().getName();
}
/**
* Sets the {@link MappingLoader}.
* @param mappingLoader The {@link MappingLoader} to set.
*/
public void setMappingLoader(final MappingLoader mappingLoader) {
setProperty(MAPPING_LOADER, mappingLoader);
}
/**
* Returns the {@link MappingLoader}.
* @return A {@link MappingLoader} or null if not set.
*/
public MappingLoader getMappingLoader() {
return (MappingLoader) getProperty(MAPPING_LOADER);
}
}