@Override public String apply(MatchResult.Metadata input) { return input.resourceId().toString(); } }
@Override public ResourceId apply(ResourceId input) { return input.getCurrentDirectory(); } }
@Override public List<Metadata> metadata() throws IOException { throw getException(); } }
@Override public Metadata decode(InputStream is) throws IOException { ResourceId resourceId = RESOURCE_ID_CODER.decode(is); boolean isReadSeekEfficient = INT_CODER.decode(is) == 1; long sizeBytes = LONG_CODER.decode(is); return Metadata.builder() .setResourceId(resourceId) .setIsReadSeekEfficient(isReadSeekEfficient) .setSizeBytes(sizeBytes) .build(); }
public MatchResult.Metadata apply(MatchResult.Metadata metadata) { ResourceId resourceId = metadata.resourceId(); System.out.println(resourceId.getScheme() + "://" + resourceId.getCurrentDirectory() + resourceId.getFilename()); return metadata; } }));
@Override public void encode(Metadata value, OutputStream os) throws IOException { RESOURCE_ID_CODER.encode(value.resourceId(), os); INT_CODER.encode(value.isReadSeekEfficient() ? 1 : 0, os); LONG_CODER.encode(value.sizeBytes(), os); }
private ResourceId getBaseOutputDirectory() { String baseOutputDirname = "output"; return getTemporaryFolder() .resolve(baseOutputDirname, StandardResolveOptions.RESOLVE_DIRECTORY); }
/** * Returns a write channel for the given {@link ResourceId}. * * <p>The resource is not expanded; it is used verbatim. * * @param resourceId the reference of the file-like resource to create * @param mimeType the mine type of the file-like resource to create */ public static WritableByteChannel create(ResourceId resourceId, String mimeType) throws IOException { return create(resourceId, StandardCreateOptions.builder().setMimeType(mimeType).build()); }
@Override protected WritableByteChannel create(S3ResourceId resourceId, CreateOptions createOptions) throws IOException { return new S3WritableByteChannel(amazonS3, resourceId, createOptions.mimeType(), options); }
/** Returns a {@link MatchResult} given the {@link Status} and {@link IOException}. */ public static MatchResult create(final Status status, final IOException e) { return new AutoValue_MatchResult_Failure(status, e); }
@Override public List<Metadata> metadata() throws IOException { return getMetadata(); } }
/** Creates a {@link ResourceIdCoder}. */ public static ResourceIdCoder of() { return new ResourceIdCoder(); }
/** Creates a {@link MetadataCoder}. */ public static MetadataCoder of() { return new MetadataCoder(); }
/** Returns a {@link StandardCreateOptions.Builder}. */ public static StandardCreateOptions.Builder builder() { return new AutoValue_CreateOptions_StandardCreateOptions.Builder(); }
/** Returns a {@link MatchResult} given the {@link Status} and {@link Metadata}. */ public static MatchResult create(Status status, List<Metadata> metadata) { return new AutoValue_MatchResult_Success(status, metadata); }
public static Builder builder() { return new AutoValue_MatchResult_Metadata.Builder(); }
private Metadata toMetadata(File file) { return Metadata.builder() .setResourceId(LocalResourceId.fromPath(file.toPath(), file.isDirectory())) .setIsReadSeekEfficient(true) .setSizeBytes(file.length()) .build(); } }
@Override public FilenamePolicy getFilenamePolicy(Integer destination) { return new PerWindowFiles( baseOutputDirectory.resolve("file_" + destination, StandardResolveOptions.RESOLVE_FILE), "simple"); } }
/** Returns a {@link MatchResult} with {@link Status#UNKNOWN}. */ public static MatchResult unknown() { return new AutoValue_MatchResult_Failure( Status.UNKNOWN, new IOException("MatchResult status is UNKNOWN, and metadata is not available.")); }
private static MatchResult.Metadata metadata(Path path, int size) { return MatchResult.Metadata.builder() .setResourceId(FileSystems.matchNewResource(path.toString(), false /* isDirectory */)) .setIsReadSeekEfficient(true) .setSizeBytes(size) .build(); }