Package net.sf.saxon.expr
Class Component
- java.lang.Object
-
- net.sf.saxon.expr.Component
-
- Direct Known Subclasses:
Component.M
public class Component extends Object
Represents a component as defined in the XSLT 3.0 specification: for example a function, a named template, an attribute set, a global variable.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classComponent.M
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexport(ExpressionPresenter out, Map<Component,Integer> componentIdMap, Map<StylesheetPackage,Integer> packageIdMap)ActorgetActor()Get the actor (for example a compiled template, function, or variable) that is executed when this component is calledComponentgetBaseComponent()Get the component from which this one is derivedList<ComponentBinding>getComponentBindings()Get the component's binding vector; that is the list of external references to other componentsintgetComponentKind()StylesheetPackagegetContainingPackage()Get the containing package of this componentStylesheetPackagegetDeclaringPackage()Get the declaring package of this componentVisibilitygetVisibility()Get the visibility of the componentVisibilityProvenancegetVisibilityProvenance()Determine whether the visibility of the component is due to an explicit visibility attribute on the component declaration, or whether it was inferred, or came from an xsl:expose or xsl:accept declarationbooleanisHiddenAbstractComponent()Ask whether this is a hidden component derived from an abstract component with no implementationStringlistComponentReferences(Map<Component,Integer> componentIdMap)static ComponentmakeComponent(Actor actor, Visibility visibility, VisibilityProvenance provenance, StylesheetPackage containingPackage, StylesheetPackage declaringPackage)Create a componentvoidsetBaseComponent(Component original)Set the component from which this one is derivedvoidsetComponentBindings(List<ComponentBinding> bindings)Set the component's binding vector; that is the list of external references to other componentsvoidsetVisibility(Visibility visibility, VisibilityProvenance provenance)Set the visibility of the component, and say whether it is explicit or defaulted
-
-
-
Field Detail
-
actor
protected Actor actor
-
-
Method Detail
-
makeComponent
public static Component makeComponent(Actor actor, Visibility visibility, VisibilityProvenance provenance, StylesheetPackage containingPackage, StylesheetPackage declaringPackage)
Create a component- Parameters:
actor- the compiled code that implements the component, for example a Template or Functionvisibility- the visibility of the componentprovenance- indicates where the visibility property came fromcontainingPackage- the package to which this component belongsdeclaringPackage- the package in which the original declaration of the component appears
-
getComponentBindings
public List<ComponentBinding> getComponentBindings()
Get the component's binding vector; that is the list of external references to other components- Returns:
- the binding vector, a list of component bindings. These are identified by a binding slot number held with the individual instruction (such as a call-template instruction or a global variable reference) that contains the external component reference.
-
setComponentBindings
public void setComponentBindings(List<ComponentBinding> bindings)
Set the component's binding vector; that is the list of external references to other components- Parameters:
bindings- the binding vector, a list of component bindings. These are identified by a binding slot number held with the individual instruction (such as a call-template instruction or a global variable reference) that contains the external component reference.
-
setVisibility
public void setVisibility(Visibility visibility, VisibilityProvenance provenance)
Set the visibility of the component, and say whether it is explicit or defaulted- Parameters:
visibility- the visibility of the componentprovenance- indicates where the visibility property came from
-
getVisibility
public Visibility getVisibility()
Get the visibility of the component- Returns:
- the component's visibility. In the declaring package this will be the original declared or exposed visibility; in a using package, it will be the visibility of the component within that package.
-
getVisibilityProvenance
public VisibilityProvenance getVisibilityProvenance()
Determine whether the visibility of the component is due to an explicit visibility attribute on the component declaration, or whether it was inferred, or came from an xsl:expose or xsl:accept declaration- Returns:
- the provenance of the visibility property
-
isHiddenAbstractComponent
public boolean isHiddenAbstractComponent()
Ask whether this is a hidden component derived from an abstract component with no implementation- Returns:
- true if this component is hidden, and its base component is abstract
-
getActor
public Actor getActor()
Get the actor (for example a compiled template, function, or variable) that is executed when this component is called- Returns:
- the code forming the implementation of this component
-
getComponentKind
public int getComponentKind()
-
getDeclaringPackage
public StylesheetPackage getDeclaringPackage()
Get the declaring package of this component- Returns:
- the package in which the code of the component was originally declared
-
getContainingPackage
public StylesheetPackage getContainingPackage()
Get the containing package of this component- Returns:
- the package that contains this (version of the) component
-
getBaseComponent
public Component getBaseComponent()
Get the component from which this one is derived- Returns:
- the component from which this one is derived. This is set when the component appears in the package as a result of xsl:use-package; a component C in the used package is modified to create a component D in the using package, and D.getBaseComponent() returns C. The value will be null in the case of a component whose declaring package is the same as its containing package, that is, an "original" component (including an overriding component)
-
setBaseComponent
public void setBaseComponent(Component original)
Set the component from which this one is derived- Parameters:
original- the component from which this one is derived. This is set when the component appears in the package as a result of xsl:use-package; a component C in the used package is modified to create a component D in the using package, and D.getBaseComponent() returns C. The value will be null in the case of a component whose declaring package is the same as its containing package, that is, an "original" component (including an overriding component)
-
export
public void export(ExpressionPresenter out, Map<Component,Integer> componentIdMap, Map<StylesheetPackage,Integer> packageIdMap) throws XPathException
- Throws:
XPathException
-
-