All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.shrinkwrap.descriptor.api.validationMapping10.ClassType Maven / Gradle / Ivy

package org.jboss.shrinkwrap.descriptor.api.validationMapping10; 

import java.util.ArrayList;
import java.util.List;
import org.jboss.shrinkwrap.descriptor.api.Child;
import org.jboss.shrinkwrap.descriptor.api.validationMapping10.GroupSequenceType;
import org.jboss.shrinkwrap.descriptor.api.validationMapping10.ConstraintType;
import org.jboss.shrinkwrap.descriptor.api.validationMapping.*;
import org.jboss.shrinkwrap.descriptor.api.validationMapping.MapClassCommonType;

import org.jboss.shrinkwrap.descriptor.api.validationMapping10.GroupSequenceType;
import org.jboss.shrinkwrap.descriptor.api.validationMapping10.ConstraintType;/**
 * This interface defines the contract for the  classType  xsd type 
 * @author Ralf Battenfeld
 * @author Andrew Lee Rubinger
 * @author George Gastaldi
 */
public interface ClassType extends Child, 
    MapClassCommonType,
    GroupSequenceType>,
    ConstraintType>> { 

 
   // --------------------------------------------------------------------------------------------------------||
   // ClassName: ClassType ElementName: map:groupSequenceType ElementType : group-sequence
   // MaxOccurs: -  isGeneric: true   isAttribute: false isEnum: false isDataType: false
   // --------------------------------------------------------------------------------------------------------||

   /**
    * If not already created, a new group-sequence element with the given value will be created.
    * Otherwise, the existing group-sequence element will be returned.
    * @return  a new or existing instance of GroupSequenceType> 
    */
   public GroupSequenceType> getOrCreateGroupSequence();

   /**
    * Removes the group-sequence element 
    * @return the current instance of ClassType 
    */
   public ClassType removeGroupSequence();

 
   // --------------------------------------------------------------------------------------------------------||
   // ClassName: ClassType ElementName: map:constraintType ElementType : constraint
   // MaxOccurs: -unbounded  isGeneric: true   isAttribute: false isEnum: false isDataType: false
   // --------------------------------------------------------------------------------------------------------||

   /**
    * If not already created, a new constraint element will be created and returned.
    * Otherwise, the first existing constraint element will be returned.
    * @return the instance defined for the element constraint 
    */
   public ConstraintType> getOrCreateConstraint();

   /**
    * Creates a new constraint element 
    * @return the new created instance of ConstraintType> 
    */
   public ConstraintType> createConstraint();

   /**
    * Returns all constraint elements
    * @return list of constraint 
    */
   public List>> getAllConstraint();

   /**
    * Removes all constraint elements 
    * @return the current instance of ConstraintType> 
    */
   public ClassType removeAllConstraint();

 
   // --------------------------------------------------------------------------------------------------------||
   // ClassName: ClassType ElementName: xsd:boolean ElementType : ignore-annotations
   // MaxOccurs: -  isGeneric: true   isAttribute: true isEnum: false isDataType: true
   // --------------------------------------------------------------------------------------------------------||

   /**
    * Sets the ignore-annotations attribute
    * @param ignoreAnnotations the value for the attribute ignore-annotations 
    * @return the current instance of ClassType 
    */
   public ClassType ignoreAnnotations(Boolean ignoreAnnotations);

   /**
    * Returns the ignore-annotations attribute
    * @return the value defined for the attribute ignore-annotations 
    */
public Boolean isIgnoreAnnotations();

   /**
    * Removes the ignore-annotations attribute 
    * @return the current instance of ClassType 
    */
   public ClassType removeIgnoreAnnotations();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy