public AbstractMessage(String messageDescriptor, Serializable... arguments) { this.messageDescriptor = messageDescriptor; for (Serializable argument : arguments) { if (argument instanceof MessagePayload) { //TODO log warning //noinspection unchecked addPayload((MessagePayload) argument); } else { addArgument(argument); } } cleanup(); }
/** * {@inheritDoc} */ public Message addArgument(Serializable... arguments) { for (Serializable currentArgument : arguments) { Serializable argument = currentArgument; if(argument == null) { argument = "null"; } if(isHiddenArgument(argument)) { addHiddenArgument(argument); } else { addArgumentToMessage(argument); } } return this; }
private void addArgumentToMessage(Object argument) { Serializable result; if(argument instanceof Serializable) { result = (Serializable)argument; } else { result = processNoneSerializableArgument(argument); } checkArgument(result); if (argument instanceof NamedArgument) { addNamedArgument((NamedArgument) argument); } else { addNumberedArgument(result); } }
/** * {@inheritDoc} */ @Override public int hashCode() { int result = getDescriptor().hashCode(); result = 31 * result + (namedArguments != null ? namedArguments.hashCode() : 0); result = 31 * result + (arguments != null ? arguments.hashCode() : 0); result = 31 * result + (messagePayload != null ? messagePayload.hashCode() : 0); return result; } }
private void addHiddenArgument(Serializable argument) { for(Object current : ((Object[])argument)) { addArgumentToMessage(current); } }
/** * Allows to add {@link MessagePayload} to the current {@link Message} * @param payload payload-instance which should be added */ public void addPayload(MessagePayload payload) { Class key = payload.getClass(); if (payload.getClass().isAnnotationPresent(MessagePayloadKey.class)) { key = payload.getClass().getAnnotation(MessagePayloadKey.class).value(); } addPayload(key, payload); }
/** * if the argument isn't serializable we aren't allowed to store the instance itself * -> we have to store the string instead * (if we are aware of the context and the parameter implements {@link Localizable} we use the localized value) * * @param argument current argument * @return the string value of the argument */ private String processNoneSerializableArgument(Object argument) { if(argument instanceof Localizable && this.getMessageContextConfig() != null) { return ((Localizable)argument).toString(this.getMessageContextConfig().use().create()); } else { return argument != null ? argument.toString() : "null"; } }
/** * {@inheritDoc} */ @Override public int hashCode() { int result = getDescriptor().hashCode(); result = 31 * result + (namedArguments != null ? namedArguments.hashCode() : 0); result = 31 * result + (arguments != null ? arguments.hashCode() : 0); result = 31 * result + (messagePayload != null ? messagePayload.hashCode() : 0); return result; } }
private void addHiddenArgument(Serializable argument) { for(Object current : ((Object[])argument)) { addArgumentToMessage(current); } }
/** * Allows to add {@link MessagePayload} to the current {@link Message} * @param payload payload-instance which should be added */ public void addPayload(MessagePayload payload) { Class key = payload.getClass(); if (payload.getClass().isAnnotationPresent(MessagePayloadKey.class)) { key = payload.getClass().getAnnotation(MessagePayloadKey.class).value(); } addPayload(key, payload); }
/** * if the argument isn't serializable we aren't allowed to store the instance itself * -> we have to store the string instead * (if we are aware of the context and the parameter implements {@link Localizable} we use the localized value) * * @param argument current argument * @return the string value of the argument */ private String processNoneSerializableArgument(Object argument) { if(argument instanceof Localizable && this.getMessageContextConfig() != null) { return ((Localizable)argument).toString(this.getMessageContextConfig().use().create()); } else { return argument != null ? argument.toString() : "null"; } }
private void addArgumentToMessage(Object argument) { Serializable result; if(argument instanceof Serializable) { result = (Serializable)argument; } else { result = processNoneSerializableArgument(argument); } checkArgument(result); if (argument instanceof NamedArgument) { addNamedArgument((NamedArgument) argument); } else { addNumberedArgument(result); } }
public AbstractMessage(String messageDescriptor, Serializable... arguments) { this.messageDescriptor = messageDescriptor; for (Serializable argument : arguments) { if (argument instanceof MessagePayload) { //TODO log warning //noinspection unchecked addPayload((MessagePayload) argument); } else { addArgument(argument); } } cleanup(); }
/** * {@inheritDoc} */ public Message addArgument(Serializable... arguments) { for (Serializable currentArgument : arguments) { Serializable argument = currentArgument; if(argument == null) { argument = "null"; } if(isHiddenArgument(argument)) { addHiddenArgument(argument); } else { addArgumentToMessage(argument); } } return this; }
/** * {@inheritDoc} */ @Override public int hashCode() { int result = getDescriptor().hashCode(); result = 31 * result + (namedArguments != null ? namedArguments.hashCode() : 0); result = 31 * result + (arguments != null ? arguments.hashCode() : 0); result = 31 * result + (messagePayload != null ? messagePayload.hashCode() : 0); return result; } }
private void addHiddenArgument(Serializable argument) { for(Object current : ((Object[])argument)) { addArgumentToMessage(current); } }
/** * Allows to add {@link MessagePayload} to the current {@link Message} * @param payload payload-instance which should be added */ public void addPayload(MessagePayload payload) { Class key = payload.getClass(); if (payload.getClass().isAnnotationPresent(MessagePayloadKey.class)) { key = payload.getClass().getAnnotation(MessagePayloadKey.class).value(); } addPayload(key, payload); }
/** * if the argument isn't serializable we aren't allowed to store the instance itself * -> we have to store the string instead * (if we are aware of the context and the parameter implements {@link Localizable} we use the localized value) * * @param argument current argument * @return the string value of the argument */ private String processNoneSerializableArgument(Object argument) { if(argument instanceof Localizable && this.getMessageContextConfig() != null) { return ((Localizable)argument).toString(this.getMessageContextConfig().use().create()); } else { return argument != null ? argument.toString() : "null"; } }
private void addArgumentToMessage(Object argument) { Serializable result; if(argument instanceof Serializable) { result = (Serializable)argument; } else { result = processNoneSerializableArgument(argument); } checkArgument(result); if (argument instanceof NamedArgument) { addNamedArgument((NamedArgument) argument); } else { addNumberedArgument(result); } }
public AbstractMessage(String messageDescriptor, Serializable... arguments) { this.messageDescriptor = messageDescriptor; for (Serializable argument : arguments) { if (argument instanceof MessagePayload) { //TODO log warning //noinspection unchecked addPayload((MessagePayload) argument); } else { addArgument(argument); } } cleanup(); }