blob: 437f0918b915905b1d0a28f3b1ec3af799b67ed2 [file] [log] [blame]
/************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
*
* Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved.
*
* Use is subject to license terms.
*
* 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. You can also
* obtain a copy of the License at http://odftoolkit.org/docs/license.txt
*
* 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.odftoolkit.odfdom.dom;
import org.odftoolkit.odfdom.pkg.ValidationConstraint;
/**
* This class is used for validation of the ODF Document.
* It contains the constraint messages are taken from the OASIS ODF 1.2 part 1, the XML Schema specification.
* These messages are used by the <code>ValidationException</code> for ODF validation.
* The validation is enabled, when an <code>ErrorHandler</code> was provided to the <code>OdfPackage</code>.
*/
public enum OdfSchemaConstraint implements ValidationConstraint {
// NOTE FOLLOWING CODE CONVENTION:
// The first parameter is ALWAYS the source path, followed by a missing space. The OdfValidationException will take care of adjusting.
/** A ODF mimetype is invalid for the ODF XML Schema document. */
DOCUMENT_WITHOUT_ODF_MIMETYPE("The ODF mimetype '%2$s' is invalid for the ODF XML Schema document%1$s!"),
/** At least \'content.xml' or 'styles.xml' have to be contained in the ODF XML Schema package.*/
DOCUMENT_WITHOUT_CONTENT_NOR_STYLES_XML("At least 'content.xml' or 'styles.xml' have to be contained in the ODF XML Schema package%1$s!"),
/** The 'mimetype' file have to be contained in the ODF XML Schema package.*/
PACKAGE_SHALL_CONTAIN_MIMETYPE("The 'mimetype' file have to be contained in the ODF XML Schema package%1$s!");
private final String mMessage;
/**
* Creates a ODF Document constraint
* @param message of the constraint */
OdfSchemaConstraint(String message) {
mMessage = message;
}
/**
* Creates a localized description of a Constraint.
* Subclasses may override this method in order to produce a
* locale-specific message. For subclasses that do not override this
* method, the default implementation returns the same result as
* <code>getMessage()</code>.
*
* @return The localized description of this constraint. */
public String getLocalizedMessage() {
// FUTURE FEATUE: LOCALIZATION:
// =============================
// There should be a property files e.g. OdfPackageConstraint_de_DE.properties Sourcecode:
// PACKAGE_SHALL_BE_ZIP=%s muß eine ZIP Datei sein, wie in [ZIP] definiert. Alle Dateien innerhalbe des ZIPS müssen entwder unkomprimiert (STORED) oder komprimiert sein (DEFLATED) und den DEFLATE aloritmus verwenden.
// PACKAGE_SHALL_CONTAIN_MANIFEST=.....
// ResourceBundle bundle = ResourceBundle.getBundle(OdfPackageConstraint.class.getName());
// return bundle.getString(this.name());
return mMessage;
}
/**
* Returns the detail message string of this Constraint.
*
* @return the detail message string of this <tt>Constraint</tt> instance
* (which may be <tt>null</tt>).
*/
public String getMessage() {
return mMessage;
}
}