blob: 1c0a62d4170815e4dde7b5105113022dec89ff6a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.netbeans.modules.xml.schema.model;
import java.util.Set;
import org.netbeans.modules.xml.xam.dom.NamedComponentReference;
import org.netbeans.modules.xml.xam.Nameable;
/**
* This interface represents a local element using the ref attribute
* @author Chris Webster
*/
public interface ElementReference extends Element, SequenceDefinition,
SchemaComponent {
public static final String MIN_OCCURS_PROPERTY = "minOccurs";
public static final String MAX_OCCURS_PROPERTY = "maxOccurs";
public static final String FORM_PROPERTY = "form"; //NOI18N
Form getForm();
void setForm(Form form);
Form getFormDefault();
Form getFormEffective();
/**
* true if #getMaxOccurs() and #getMinOccurs() allow multiciplity outside
* [0,1], false otherwise. This method is only accurate after the element
* has been inserted into the model.
*/
boolean allowsFullMultiplicity();
String getMaxOccurs();
void setMaxOccurs(String max);
String getMaxOccursDefault();
String getMaxOccursEffective();
Integer getMinOccurs();
void setMinOccurs(Integer min);
int getMinOccursDefault();
int getMinOccursEffective();
NamedComponentReference<GlobalElement> getRef();
void setRef(NamedComponentReference<GlobalElement> ref);
}