/** * Copyright (c) 2013-2016 Angelo ZERR. * 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: * Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation */ package org.eclipse.json.schema; import java.util.List; import java.util.Map; import org.eclipse.json.provisonnal.com.eclipsesource.json.JsonObject; public interface IJSONSchemaNode { static final String NOT = "not"; //$NON-NLS-1$ static final String ONE_OF = "oneOf"; //$NON-NLS-1$ static final String ANY_OF = "anyOf"; //$NON-NLS-1$ static final String ALL_OF = "allOf"; //$NON-NLS-1$ static final String TYPE = "type"; //$NON-NLS-1$ static final String REQUIRED = "required"; //$NON-NLS-1$ static final String MIN_PROPERTIES = "minProperties"; //$NON-NLS-1$ static final String MAX_PROPERTIES = "maxProperties"; //$NON-NLS-1$ static final String PATTERN = "pattern"; //$NON-NLS-1$ static final String MIN_LENGTH = "minLength"; //$NON-NLS-1$ static final String MAX_LENGTH = "maxLength"; //$NON-NLS-1$ static final String MULTIPLEOF = "multipleOf"; //$NON-NLS-1$ static final String MAXIMUM = "maximum"; //$NON-NLS-1$ static final String EXCLUSIVE_MAXIMUM = "exclusiveMaximum"; //$NON-NLS-1$ static final String MINIMUM = "minimum"; //$NON-NLS-1$ static final String EXCLUSIVE_MINIMUM = "exclusiveMinimum"; //$NON-NLS-1$ static final String MIN_ITEMS = "minItems"; //$NON-NLS-1$ static final String MAX_ITEMS = "maxItems"; //$NON-NLS-1$ static final String UNIQUE_ITEMS = "uniqueItems"; //$NON-NLS-1$ static final String ADDITIONAL_ITEMS = "additionalItems"; //$NON-NLS-1$ static final String ITEMS = "items"; //$NON-NLS-1$ static final String ADDITIONAL_PROPERTIES = "additionalProperties"; //$NON-NLS-1$ static final String PATTERN_PROPERTIES = "patternProperties"; //$NON-NLS-1$ static final String ENUM = "enum"; //$NON-NLS-1$ String PROPERTIES = "properties"; //$NON-NLS-1$ String REF = "$ref"; //$NON-NLS-1$ String QUOTE = "\""; //$NON-NLS-1$ String DEFINITIONS = "#/definitions/"; //$NON-NLS-1$ String getDescription(); JSONSchemaType[] getType(); JSONSchemaType getFirstType(); List<String> getEnumList(); String getDefaultValue(); IJSONSchemaNode getParent(); IJSONSchemaProperty[] getPropertyValues(); Map<String, IJSONSchemaProperty> getProperties(); void setJsonObject(JsonObject jsonObject); JsonObject getJsonObject(); void addProperty(IJSONSchemaProperty property); IJSONSchemaDocument getSchemaDocument(); }