package org.eclipse.stem.internal.data.generatedplugin.validation;

/******************************************************************************* 
 * Copyright (c) 2009 IBM Corporation and others. 
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Eclipse Public License v1.0 
 * which accompanies this distribution, and is available at 
 * http://www.eclipse.org/legal/epl-v10.html 
 * 
 * Contributors: 
 *     IBM Corporation - initial API and implementation 
 *******************************************************************************/

/**
 * A sample validator interface for
 * {@link org.eclipse.stem.internal.data.generatedplugin.DublinCore}. This
 * doesn't really do anything, and it's not a real EMF artifact. It was
 * generated by the org.eclipse.emf.examples.generator.validator plug-in to
 * illustrate how EMF's code generator can be extended. This can be disabled
 * with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
 */
@SuppressWarnings("all")
public interface DublinCoreValidator {
	boolean validate();

	boolean validateBibliographicCitation(String value);

	boolean validateCategoryId(String value);

	boolean validateContributor(String value);

	boolean validateCoverage(String value);

	boolean validateCreated(String value);

	boolean validateCreator(String value);

	boolean validateDate(String value);

	boolean validateDescription(String value);

	boolean validateFormat(String value);

	boolean validateIdentifier(String value);

	boolean validateLanguage(String value);

	boolean validateLicense(String value);

	boolean validatePublisher(String value);

	boolean validateRelation(String value);

	boolean validateRequires(String value);

	boolean validateRights(String value);

	boolean validateSource(String value);

	boolean validateSpatial(String value);

	boolean validateSubject(String value);

	boolean validateTitle(String value);

	boolean validateType(String value);

	boolean validateValid(String value);
}
