@NotThreadSafe public class PSSchema extends Object implements IPSElement, IPSHasID, IPSHasForeignElements, IPSHasIncludes, IPSHasLets, IPSHasRichGroup
Constructor and Description |
---|
PSSchema()
Default constructor for a new schema that was not read from a file.
|
PSSchema(com.helger.commons.io.resource.IReadableResource aResource)
Constructor for reading a schema from a file.
|
Modifier and Type | Method and Description |
---|---|
void |
addEndP(PSP aP) |
void |
addForeignAttribute(String sAttrName,
String sAttrValue) |
void |
addForeignAttributes(Map<String,String> aForeignAttrs) |
void |
addForeignElement(com.helger.commons.microdom.IMicroElement aForeignElement) |
void |
addForeignElements(List<com.helger.commons.microdom.IMicroElement> aForeignElements) |
void |
addInclude(PSInclude aInclude)
Add an include to this object.
|
void |
addLet(PSLet aLet)
Add a
PSLet element. |
void |
addNS(PSNS aNS) |
void |
addPattern(PSPattern aPattern) |
void |
addPhase(PSPhase aPhase) |
void |
addStartP(PSP aP) |
List<PSP> |
getAllEndPs() |
Map<String,String> |
getAllForeignAttributes() |
List<com.helger.commons.microdom.IMicroElement> |
getAllForeignElements() |
List<PSInclude> |
getAllIncludes() |
List<PSLet> |
getAllLets() |
Map<String,String> |
getAllLetsAsMap() |
List<PSNS> |
getAllNSs() |
List<PSPattern> |
getAllPatterns() |
List<String> |
getAllPhaseIDs() |
List<PSPhase> |
getAllPhases() |
List<PSP> |
getAllStartPs() |
com.helger.commons.microdom.IMicroElement |
getAsMicroElement() |
com.helger.commons.xml.namespace.MapBasedNamespaceContext |
getAsNamespaceContext() |
String |
getDefaultPhase() |
PSDiagnostics |
getDiagnostics() |
String |
getID() |
int |
getPatternCount() |
PSPattern |
getPatternOfID(String sID) |
PSPhase |
getPhaseOfID(String sID) |
String |
getQueryBinding() |
com.helger.commons.io.resource.IReadableResource |
getResource() |
PSRichGroup |
getRich() |
PSRichGroup |
getRichClone() |
String |
getSchemaVersion() |
PSTitle |
getTitle() |
boolean |
hasAnyInclude() |
boolean |
hasAnyLet() |
boolean |
hasAnyNS() |
boolean |
hasDiagnostics() |
boolean |
hasForeignAttributes() |
boolean |
hasForeignElements() |
boolean |
hasID() |
boolean |
hasNoPatterns() |
boolean |
hasPatterns() |
boolean |
hasRich() |
boolean |
hasTitle() |
boolean |
isMinimal() |
boolean |
isPreprocessed()
Check if this schema is already pre-processed or not.
|
boolean |
isValid(IPSErrorHandler aErrorHandler)
Check if this element is specified completely.
|
void |
setDefaultPhase(String sDefaultPhase) |
void |
setDiagnostics(PSDiagnostics aDiagnostics) |
void |
setID(String sID)
Set an ID for this object.
|
void |
setQueryBinding(String sQueryBinding) |
void |
setRich(PSRichGroup aRich)
Overwrite any existing rich group.
|
void |
setSchemaVersion(String sSchemaVersion) |
void |
setTitle(PSTitle aTitle) |
String |
toString() |
void |
validateCompletely(IPSErrorHandler aErrorHandler)
Check if this element is specified completely.
|
public PSSchema()
public PSSchema(@Nullable com.helger.commons.io.resource.IReadableResource aResource)
aResource
- The resource to be used. May be null
indicating that
this is a newly created schema.@Nullable public com.helger.commons.io.resource.IReadableResource getResource()
null
if the schema is newly created.public boolean isValid(@Nonnull IPSErrorHandler aErrorHandler)
IPSElement
isValid
in interface IPSElement
aErrorHandler
- The error handler where the error details are stored. May not be
null
.true
if all mandatory fields are set and the element
is valid, false
otherwise.public void validateCompletely(@Nonnull IPSErrorHandler aErrorHandler)
IPSElement
validateCompletely
in interface IPSElement
aErrorHandler
- The error handler where the error details are stored. May not be
null
.public boolean isPreprocessed()
true
if it is pre-processed, false
if
not.public boolean isMinimal()
isMinimal
in interface IPSElement
true
if this element conforms to the Schematron
minimal syntax, false
otherwise.public void addForeignElement(@Nonnull com.helger.commons.microdom.IMicroElement aForeignElement)
addForeignElement
in interface IPSHasForeignElements
public void addForeignElements(@Nonnull List<com.helger.commons.microdom.IMicroElement> aForeignElements)
addForeignElements
in interface IPSHasForeignElements
public boolean hasForeignElements()
hasForeignElements
in interface IPSHasForeignElements
@Nonnull @ReturnsMutableCopy public List<com.helger.commons.microdom.IMicroElement> getAllForeignElements()
getAllForeignElements
in interface IPSHasForeignElements
public void addForeignAttribute(@Nonnull String sAttrName, @Nonnull String sAttrValue)
addForeignAttribute
in interface IPSHasForeignAttributes
public void addForeignAttributes(@Nonnull Map<String,String> aForeignAttrs)
addForeignAttributes
in interface IPSHasForeignAttributes
public boolean hasForeignAttributes()
hasForeignAttributes
in interface IPSHasForeignAttributes
@Nonnull @ReturnsMutableCopy public Map<String,String> getAllForeignAttributes()
getAllForeignAttributes
in interface IPSHasForeignAttributes
public void setID(@Nullable String sID)
IPSHasID
public boolean hasID()
public void setRich(@Nullable PSRichGroup aRich)
IPSHasRichGroup
setRich
in interface IPSHasRichGroup
aRich
- The new rich group to set. May be null
.public boolean hasRich()
hasRich
in interface IPSHasRichGroup
true
if a rich group is present, false
otherwise.@Nullable public PSRichGroup getRich()
getRich
in interface IPSHasRichGroup
null
if none is
present.@Nullable public PSRichGroup getRichClone()
getRichClone
in interface IPSHasRichGroup
null
if no rich group
is present at this object.public boolean hasTitle()
public void addInclude(@Nonnull PSInclude aInclude)
IPSHasIncludes
addInclude
in interface IPSHasIncludes
aInclude
- The include to be added. May not be null
.public boolean hasAnyInclude()
hasAnyInclude
in interface IPSHasIncludes
true
if at least one include is present in this
object.@Nonnull @ReturnsMutableCopy public List<PSInclude> getAllIncludes()
getAllIncludes
in interface IPSHasIncludes
null
.public boolean hasAnyNS()
@Nonnull @ReturnsMutableCopy public com.helger.commons.xml.namespace.MapBasedNamespaceContext getAsNamespaceContext()
public void addLet(@Nonnull PSLet aLet)
IPSHasLets
PSLet
element.addLet
in interface IPSHasLets
aLet
- The let element to be added. May not be null
.public boolean hasAnyLet()
hasAnyLet
in interface IPSHasLets
true
if this object has at least on contained
PSLet
object.@Nonnull @ReturnsMutableCopy public List<PSLet> getAllLets()
getAllLets
in interface IPSHasLets
PSLet
elements. Never
null
.@Nonnull @ReturnsMutableCopy public Map<String,String> getAllLetsAsMap()
getAllLetsAsMap
in interface IPSHasLets
PSLet
elements as an ordered Map from
name to value. The order must match the declaration order! Never
null
.@Nonnull @ReturnsMutableCopy public List<String> getAllPhaseIDs()
public boolean hasPatterns()
public boolean hasNoPatterns()
@Nonnegative public int getPatternCount()
public void setDiagnostics(@Nullable PSDiagnostics aDiagnostics)
public boolean hasDiagnostics()
@Nullable public PSDiagnostics getDiagnostics()
@Nonnull public com.helger.commons.microdom.IMicroElement getAsMicroElement()
getAsMicroElement
in interface IPSElement
null
.Copyright © 2014–2015 Philip Helger. All rights reserved.