package com.xfestudio.xfeservermanager.api.spi;
import com.xfestudio.xfeservermanager.api.command.CommandAnalysisRequest;
import com.xfestudio.xfeservermanager.api.command.CommandNames;
import com.xfestudio.xfeservermanager.api.command.InvocationAst;
import java.util.Optional;
/** Adds argument-level semantics for commands unknown to the built-in platform adapter. */
public interface CommandSemanticAdapter {
boolean supports(String canonicalCommandId);
Optional<InvocationAst> analyze(CommandAnalysisRequest request) throws SemanticAnalysisException;
default int priority() {
return 0;
}
default boolean supportsRaw(String commandId) {
return supports(CommandNames.canonicalize(commandId));
}
}
package com.xfestudio.xfeservermanager.api.spi;
import com.xfestudio.xfeservermanager.api.command.CommandAnalysisRequest;
import com.xfestudio.xfeservermanager.api.command.CommandNames;
import com.xfestudio.xfeservermanager.api.command.InvocationAst;
import java.util.Optional;
/** Adds argument-level semantics for commands unknown to the built-in platform adapter. */
public interface CommandSemanticAdapter {
boolean supports(String canonicalCommandId);
Optional<InvocationAst> analyze(CommandAnalysisRequest request) throws SemanticAnalysisException;
default int priority() {
return 0;
}
default boolean supportsRaw(String commandId) {
return supports(CommandNames.canonicalize(commandId));
}
}