Package org.eclipse.birt.report.model.api.validators

# Class MasterPageContextContainmentValidator

java.lang.Object
org.eclipse.birt.report.model.validators.AbstractSemanticValidator
org.eclipse.birt.report.model.validators.AbstractElementValidator
org.eclipse.birt.report.model.api.validators.MasterPageContextContainmentValidator

public class MasterPageContextContainmentValidator extends org.eclipse.birt.report.model.validators.AbstractElementValidator
Validates the table/list is not allowed to appear in header/footer/contents slot of master page in any level.

### Rule

The rule is that whether the table/list can recursively resides in the header/footer/contents slot of master page.

### Applicability

This validator is only applied to `MasterPage` currently.

## Field Summary

### Fields inherited from class org.eclipse.birt.report.model.validators.AbstractSemanticValidator

`modules, name`

## Constructor Summary

Constructors
Constructor
Description
`MasterPageContextContainmentValidator()`

## Method Summary

Modifier and Type
Method
Description
`static MasterPageContextContainmentValidator`
`getInstance()`
Returns the singleton validator instance.
`List<SemanticException>`
`validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)`
Validates whether the given element can recursively resides in the specific slot of specific container type.
`List<SemanticException>`
`validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.ContainerContext containerInfo, org.eclipse.birt.report.model.core.DesignElement toAdd)`
Validates whether the given element can recursively resides in the specific slot of specific container type when trying to add an element.
`List<SemanticException>`
`validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element, int slotId, org.eclipse.birt.report.model.core.DesignElement toAdd)`
Deprecated.
since birt2.2, replaced by `validateForAdding(Module, ContainerContext, DesignElement)`
`List<SemanticException>`
`validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element, IElementDefn toAdd)`
Validates whether the given element can recursively resides in the specific slot of specific container type when trying to add an element.

### Methods inherited from class org.eclipse.birt.report.model.validators.AbstractSemanticValidator

`canApplyToDesign, canApplyToLibrary, getName, isInTemplateParameterDefinitionSlot, setModules, setName`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### MasterPageContextContainmentValidator

public MasterPageContextContainmentValidator()

## Method Details

### getInstance

public static MasterPageContextContainmentValidator getInstance()
Returns the singleton validator instance.

Returns:
  the validator instance

### validate

public List<SemanticException> validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)
Validates whether the given element can recursively resides in the specific slot of specific container type.

Specified by:
  `validate` in class `org.eclipse.birt.report.model.validators.AbstractElementValidator`
Parameters:
  `module` - the module
  `element` - the element to validate
Returns:
  error list, each of which is the instance of `SemanticException`.

### validateForAdding

public List<SemanticException> validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.ContainerContext containerInfo, org.eclipse.birt.report.model.core.DesignElement toAdd)
Validates whether the given element can recursively resides in the specific slot of specific container type when trying to add an element.

Parameters:
  `module` - the module
  `containerInfo` - the container information
  `toAdd` - the element to add
Returns:
  error list, each of which is the instance of `SemanticException`.

### validateForAdding

@Deprecated public List<SemanticException> validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element, int slotId, org.eclipse.birt.report.model.core.DesignElement toAdd)
Deprecated.
since birt2.2, replaced by `validateForAdding(Module, ContainerContext, DesignElement)`
Validates whether the given element can recursively resides in the specific slot of specific container type when trying to add an element.

Parameters:
  `module` - the module
  `element` - the container element
  `slotId` - the slot where the new element to insert
  `toAdd` - the element to add
Returns:
  error list, each of which is the instance of `SemanticException`.

### validateForAdding

public List<SemanticException> validateForAdding(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element, IElementDefn toAdd)
Validates whether the given element can recursively resides in the specific slot of specific container type when trying to add an element.

Parameters:
  `module` - the root module of the element to validate
  `element` - the container element
  `toAdd` - the element definition to add
Returns:
  error list, each of which is the instance of `SemanticException`.