public class WithConfigValueProvider implements ValueProvider { @Config private SimpleConfig configuration; @Override public Set<Value> resolve() { return ValueBuilder.getValuesFor(configuration.getConfigValues()); } }
public BananaConfig getConfig(@Config BananaConfig config) { return config; } }
@MetadataScope(outputResolver = FruitMetadataResolver.class) public class PaulMcCartneySource extends Source<Fruit, Object> { @Config private Object config; @Override public void onStart(SourceCallback<Fruit, Object> sourceCallback) throws MuleException { } @Override public void onStop() { } }
@MediaType(TEXT_PLAIN) public String spreadTheWord(String theWord, @Config Object config) { StringBuilder message = new StringBuilder(); for (int i = 0; i < eloquenceLevel; i++) { message.append(theWord); } return message.toString(); }
public int ble(@Config ConfigWithNumber ble) { return ble.getNumber(); } }
public synchronized Long launder(@Config HeisenbergExtension config, long amount) { config.setMoney(config.getMoney().subtract(BigDecimal.valueOf(amount))); totalLaunderedAmount += amount; return totalLaunderedAmount; }
@MediaType(TEXT_PLAIN) public String getNotOverridenParameter(@Config EasyToEatConfig config, @Optional String shouldNotOverride) { return shouldNotOverride; }
public Banana eatBanana(@Connection Banana banana, @Config BananaConfig config) { banana.bite(); return banana; }
@MediaType(TEXT_PLAIN) public TypedValue<String> typedValueOperationStringParameter(@Optional( defaultValue = THIS_IS_A_DEFAULT_STRING) TypedValue<String> stringValue, @Config TypedValueExtension config) { return stringValue; }
public void captureCallbackPayloads(@Config TestOAuthExtension config, @Optional AuthCodeRequest request, @Optional AuthorizationCodeState state) { config.getCapturedAuthCodeRequests().add(request); config.getCapturedAuthCodeStates().add(state); }
public List<Result<String, IntegerAttributes>> getAllEnemies(@Config HeisenbergExtension config) { List<Result<String, IntegerAttributes>> enemies = new ArrayList<>(config.getEnemies().size()); for (int i = 0; i < config.getEnemies().size(); i++) { enemies.add(Result.<String, IntegerAttributes>builder() .output(config.getEnemies().get(i)) .attributes(new IntegerAttributes(i)) .build()); } return enemies; }
@MediaType(TEXT_PLAIN) public class SourceWithConfiguration extends AbstractSource { @OfValues(WithConfigValueProvider.class) @Parameter String channel; @Config SimpleConfig simpleConfig; }
@Execution(CPU_INTENSIVE) public void computeFlightPlan(@Config IronMan ironMan, CompletionCallback<Void, Void> callback) { final Runnable launch = () -> { callback.success(Result.<Void, Void>builder().build()); ironMan.setFlightPlan(FLIGHT_PLAN); }; // building a flight plan requires a lot of computation. Don't block while you kill executorService.schedule(launch, MISSILE_TRAVEL_TIME, MILLISECONDS); } }
public List<Result<String, Object>> getSimpleBlacklist(@Config HeisenbergExtension config) { List<Result<String, Object>> blacklist = new LinkedList<>(); blacklist.add(Result.<String, Object>builder().output("Fring").build()); blacklist.add(Result.<String, Object>builder().output("Salamanca").build()); blacklist.add(Result.<String, Object>builder().output("Ehrmantraut").build()); return blacklist; }
public List<String> getPets(@Connection PetStoreClient client, @Config PetStoreConnector config, String ownerName, @Optional InputStream ownerSignature) { if (ownerSignature != null) { ownerName += IOUtils.toString(ownerSignature); } return client.getPets(ownerName, config); }
@Streaming @MediaType(value = ANY, strict = false) public String sayMyName(@Config HeisenbergExtension config) { return config.getPersonalInfo().getName(); }
@MediaType(TEXT_PLAIN) public Result<String, IntegerAttributes> getEnemy(@Config HeisenbergExtension config, @Optional(defaultValue = "0") int index) { Charset lastSupportedEncoding = Charset.availableCharsets().values().stream().reduce((first, last) -> last).get(); org.mule.runtime.api.metadata.DataType dt = DataType.builder().type(String.class).mediaType("dead/dead").charset(lastSupportedEncoding.toString()).build(); return Result.<String, IntegerAttributes>builder().output(config.getEnemies().get(index)) .mediaType(dt.getMediaType()).attributes(new IntegerAttributes(index)).build(); }
@Stereotype(ReferableOperationStereotypeDefinition.class) public void withFlowReference(@Config DrStrange dr, @Optional @FlowReference String flowRef, @ComponentId String name) { if (!StringUtils.isBlank(flowRef)) { if (!locator.find(Location.builder().globalName(flowRef).build()).isPresent()) { throw new IllegalArgumentException("The referenced flow does not exist in this application"); } } }
@OutputResolver(output = AppleTypesResolver.class) @MediaType(value = ANY, strict = false) public Object eatApple(@Connection Apple apple, @Config AppleConfig config, @MetadataKeyId @Optional String key) { apple.bite(); return apple; }
@OutputResolver(output = TestOutputAnyTypeResolver.class) @MediaType(value = ANY, strict = false) public Object contentMetadataWithKeyId(@Config Object object, @Connection MetadataConnection connection, @MetadataKeyId(TestInputResolverWithKeyResolver.class) String type, @Content @TypeResolver(TestInputResolverWithKeyResolver.class) Object content) { return null; }