/** * @throws NotExportableException if type is not exportable * @return model */ @Nonnull public <T> Model<T> get(Class<T> type, @CheckForNull Class<?> propertyOwner, @Nullable String property) throws NotExportableException { Model<T> model = getOrNull(type, propertyOwner, property); if (model == null) { throw new NotExportableException(type); } return model; }
/** * @throws NotExportableException if type is not exportable * @return model */ @Nonnull public <T> Model<T> get(Class<T> type, @CheckForNull Class<?> propertyOwner, @Nullable String property) throws NotExportableException { Model<T> model = getOrNull(type, propertyOwner, property); if (model == null) { throw new NotExportableException(type); } return model; }
ExportedBean eb = type.getAnnotation(ExportedBean.class); if (eb == null) { throw propertyOwner != null ? new NotExportableException(type, propertyOwner, property) : new NotExportableException(type);
ExportedBean eb = type.getAnnotation(ExportedBean.class); if(eb ==null) throw new NotExportableException(type); this.defaultVisibility = eb.defaultVisibility();
ExportedBean eb = type.getAnnotation(ExportedBean.class); if (eb == null) { throw propertyOwner != null ? new NotExportableException(type, propertyOwner, property) : new NotExportableException(type);
throw new NotExportableException(c); } else { writer.type(expected, value.getClass());
throw new NotExportableException(c); } else { writer.type(expected, value.getClass());
/** * Writes one property of the given object to {@link DataWriter}. * * @param pruner * Determines how to prune the object graph tree. */ @SuppressWarnings("unchecked") public void writeTo(Object object, TreePruner pruner, DataWriter writer) throws IOException { TreePruner child = pruner.accept(object, this); if (child==null) return; Object d = writer.getExportConfig().getExportInterceptor().getValue(this,object, writer.getExportConfig()); if ((d==null && skipNull) || d == ExportInterceptor.SKIP) { // don't write anything return; } if (merge) { // merged property will get all its properties written here if (d != null) { Class<?> objectType = d.getClass(); Model model = owner.getOrNull(objectType, parent.type, name); if (model == null && !writer.getExportConfig().isSkipIfFail()) { throw new NotExportableException(objectType); } else if (model != null) { model.writeNestedObjectTo(d, new FilteringTreePruner(parent.HAS_PROPERTY_NAME_IN_ANCESTRY,child), writer); } } } else { writer.name(name); writeValue(type, d, child, writer); } }
/** * Writes one property of the given object to {@link DataWriter}. * * @param pruner * Determines how to prune the object graph tree. */ @SuppressWarnings("unchecked") public void writeTo(Object object, TreePruner pruner, DataWriter writer) throws IOException { TreePruner child = pruner.accept(object, this); if (child==null) return; Object d = writer.getExportConfig().getExportInterceptor().getValue(this,object, writer.getExportConfig()); if ((d==null && skipNull) || d == ExportInterceptor.SKIP) { // don't write anything return; } if (merge) { // merged property will get all its properties written here if (d != null) { Class<?> objectType = d.getClass(); Model model = owner.getOrNull(objectType, parent.type, name); if (model == null && !writer.getExportConfig().isSkipIfFail()) { throw new NotExportableException(objectType); } else if (model != null) { model.writeNestedObjectTo(d, new FilteringTreePruner(parent.HAS_PROPERTY_NAME_IN_ANCESTRY,child), writer); } } } else { writer.name(name); writeValue(type, d, child, writer); } }