#
# Copyright (c) 2003, 2021 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#


AbstractUnmarshallerImpl.ISNotNull = \
	InputStream can not be null

AbstractMarshallerImpl.MustBeBoolean = \
	{0} must be boolean
	 
AbstractMarshallerImpl.MustBeString = \
	{0} must be a String
	

DefaultValidationEventHandler.SeverityMessage = \
	DefaultValidationEventHandler: {0} {1} \n\
\ \ \ \ \ Location: {2}

DefaultValidationEventHandler.LocationUnavailable = \
	unavailable
	
DefaultValidationEventHandler.UnrecognizedSeverity = \
	Unrecognized event severity field "{0}"

DefaultValidationEventHandler.Warning = \
	[WARNING]:

DefaultValidationEventHandler.Error = \
	[ERROR]:

DefaultValidationEventHandler.FatalError = \
	[FATAL_ERROR]:
	
ValidationEventImpl.IllegalSeverity = \
	Illegal severity
	
Shared.MustNotBeNull = \
	{0} parameter must not be null
	
	
