@Override public boolean isUnscreenableField(final Field field) { return !isCustomField(field) && field instanceof UnscreenableField; }
@Override public boolean isRequirableField(final String id) { return isCustomField(id) || fields.get(id) instanceof RequirableField; }
@Override public boolean isUnscreenableField(final String id) { return !isCustomField(id) && fields.get(id) instanceof UnscreenableField; }
@Override public boolean isHideableField(final String id) { return isCustomField(id) || fields.get(id) instanceof HideableField; }
@Override public boolean isOrderableField(final String id) { return isCustomField(id) || ORDERABLE.apply(fields.get(id)); }
@Override public boolean isNavigableField(final String id) { return isCustomField(id) || isNavigableField(fields.get(id)); }
@Nullable @Override public OrderableField getOrderableField(final String id) { if (isCustomField(id)) { return getCustomField(id); } final Field field = fields.get(id); return ORDERABLE.apply(field) ? (OrderableField)field : null; }
@Override public boolean isRenderableField(final Field field) { if (isCustomField(field)) { return ((CustomField) field).isRenderable(); } return (field instanceof RenderableField); }
@Override public Field getField(final String id) { if (isCustomField(id)) { return getCustomField(id); } return fields.get(id); }
@Override public boolean isMandatoryField(final String id) { return !isCustomField(id) && isMandatoryField(fields.get(id)); }
@Override public NavigableField getNavigableField(final String id) { if (isCustomField(id)) { return getCustomField(id); } final Field field = fields.get(id); if (field instanceof NavigableField) { return (NavigableField)field; } throw new IllegalArgumentException("The field with id '" + id + "' is not a NavigableField."); }
@Override public RequirableField getRequiredField(final String id) { if (isCustomField(id)) { return getCustomField(id); } final Field field = fields.get(id); if (field instanceof RequirableField) { return (RequirableField)field; } throw new IllegalArgumentException("The field with id '" + id + "' is not a RequirableField."); }
@Override public HideableField getHideableField(final String id) { if (isCustomField(id)) { return getCustomField(id); } final Field field = fields.get(id); if (field instanceof HideableField) { return (HideableField)field; } throw new IllegalArgumentException("The field with id '" + id + "' is not a HideableField."); }
@Override public boolean isRenderableField(final String id) { if (isCustomField(id)) { return getCustomField(id).isRenderable(); } return fields.get(id) instanceof RenderableField; }