The BHxProfile
is used to customize the HTML page around the current HxView
.
The profile is responsible for writing out the outer HTML tags (
html
, head
, and body
), any custom
markup, and the current view. It is important that your profile respect the
order HxOps
are created in these methods:
writeDocument, updateDocument, processDocument,
and
saveDocument
. If any HxView
uses the auto name
constructor of HxOp
to create a unique path name, it must be
called in the exact same order in order to resolve correctly.
HxProfile
exposes customization hooks through convenience
methods, so there is no need to handle the boilerplate code:
public class BMyProfile
extends BHxProfile
{
public static final BMyProfile INSTANCE = new BMyProfile();
public Type getType() { return TYPE; }
public static final Type TYPE = Sys.loadType(BMyProfile.class);
protected BMyProfile() {}
public void doBody(BHxView view, HxOp op)
throws Exception
{
BHxPathBar.INSTANCE.write(makePathBarOp(op));
view.write(op);
displayError(op);
}
public void updateDocument(BHxView view, HxOp op)
throws Exception
{
BHxPathBar.INSTANCE.update(makePathBarOp(op));
view.update(op);
}
public boolean processDocument(BHxView view, HxOp op)
throws Exception
{
if (BHxPathBar.INSTANCE.process(makePathBarOp(op)))
return true;
return view.process(op);
}
public void saveDocument(BHxView view, HxOp op)
throws Exception
{
BHxPathBar.INSTANCE.save(makePathBarOp(op));
view.save(op);
}
protected HxOp makePathBarOp(HxOp op)
{
return op.make("pathbar", op);
}
}
Copyright © 2000-2019 Tridium Inc. All rights reserved.