com.prowidesoftware.swift.model.field.Field92J Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wife Show documentation
Show all versions of wife Show documentation
Prowide Core Libraries for SWIFT (TM) messages
The newest version!
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*/
package com.prowidesoftware.swift.model.field;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.Currency;
import java.math.BigDecimal;
import org.apache.commons.lang.StringUtils;
import com.prowidesoftware.swift.model.field.PatternContainer;
import com.prowidesoftware.swift.model.*;
import com.prowidesoftware.swift.utils.SwiftFormatUtils;
/**
* Field 92J
*
* validation pattern: :4!c/[8c]/4!c/15[/4!c]
* parser pattern: :S/[S]/S/CN[/S]
* components pattern: SSSCNS
*
* Components Data types
*
* - component1:
String
* - component2:
String
* - component3:
String
* - component4:
Currency
* - component5:
Number
* - component6:
String
*
*
* NOTE: this source code has been generated.
*
* @author www.prowidesoftware.com
*/
@SuppressWarnings("unused")
public class Field92J extends Field implements Serializable, PatternContainer, CurrencyContainer, AmountContainer, GenericField {
private static final long serialVersionUID = 1L;
public static final String NAME = "92J";
public static final String PARSER_PATTERN =":S/[S]/S/CN[/S]";
public static final String COMPONENTS_PATTERN = "SSSCNS";
/**
* Default constructor
*/
public Field92J() {
super(6);
}
/**
* Creates the field parsing the parameter value into fields' components
* @param value
*/
public Field92J(String value) {
this();
setComponent1(SwiftParseUtils.getTokenFirst(value, ":", "/"));
setComponent2(SwiftParseUtils.getTokenSecond(value, "/"));
String toparse = SwiftParseUtils.getTokenThirdLast(value, "/");
setComponent3(SwiftParseUtils.getTokenFirst(toparse, null, "/"));
String toparse2 = SwiftParseUtils.getTokenSecond(toparse, "/");
setComponent6(SwiftParseUtils.getTokenThirdLast(toparse, "/"));
setComponent4(SwiftParseUtils.getAlphaPrefix(toparse2));
setComponent5(SwiftParseUtils.getNumericSuffix(toparse2));
}
/**
* Serializes the fields' components into the single string value (SWIFT format)
*/
@Override
public String getValue() {
final StringBuilder result = new StringBuilder();
result.append(":");
result.append(StringUtils.trimToEmpty(getComponent1()));
result.append("/");
result.append(StringUtils.trimToEmpty(getComponent2()));
result.append("/");
result.append(StringUtils.trimToEmpty(getComponent3()));
result.append("/");
result.append(StringUtils.trimToEmpty(getComponent4()));
result.append(StringUtils.trimToEmpty(getComponent5()));
if (StringUtils.isNotEmpty(getComponent6())) {
result.append("/");
result.append(getComponent6());
}
return result.toString();
}
/**
* Get the component1
* @return the component1
*/
public String getComponent1() {
return getComponent(1);
}
/**
* Get the Qualifier (component1).
* @return the Qualifier from component1
*/
public String getQualifier() {
return getComponent(1);
}
/**
* Set the component1.
* @param component1 the component1 to set
*/
public void setComponent1(String component1) {
setComponent(1, component1);
}
/**
* Set the Qualifier (component1).
* @param component1 the Qualifier to set
*/
public void setQualifier(String component1) {
setComponent(1, component1);
}
/**
* Get the component2
* @return the component2
*/
public String getComponent2() {
return getComponent(2);
}
/**
* Get the Data Source Scheme (component2).
* @return the Data Source Scheme from component2
*/
public String getDataSourceScheme() {
return getComponent(2);
}
/**
* Set the component2.
* @param component2 the component2 to set
*/
public void setComponent2(String component2) {
setComponent(2, component2);
}
/**
* Set the Data Source Scheme (component2).
* @param component2 the Data Source Scheme to set
*/
public void setDataSourceScheme(String component2) {
setComponent(2, component2);
}
/**
* Get the component3
* @return the component3
*/
public String getComponent3() {
return getComponent(3);
}
/**
* Get the Code (component3).
* @return the Code from component3
*/
public String getCode() {
return getComponent(3);
}
/**
* Set the component3.
* @param component3 the component3 to set
*/
public void setComponent3(String component3) {
setComponent(3, component3);
}
/**
* Set the Code (component3).
* @param component3 the Code to set
*/
public void setCode(String component3) {
setComponent(3, component3);
}
/**
* Get the component4
* @return the component4
*/
public String getComponent4() {
return getComponent(4);
}
/**
* Get the component4 as Currency
* @return the component4 converted to Currency or null
if cannot be converted
*/
public java.util.Currency getComponent4AsCurrency() {
return SwiftFormatUtils.getCurrency(getComponent(4));
}
/**
* Get the Currency (component4).
* @return the Currency from component4
*/
public String getCurrency() {
return getComponent(4);
}
/**
* Get the Currency (component4) as Currency
* @return the Currency from component4 converted to Currency or null
if cannot be converted
*/
public java.util.Currency getCurrencyAsCurrency() {
return SwiftFormatUtils.getCurrency(getComponent(4));
}
/**
* Set the component4.
* @param component4 the component4 to set
*/
public void setComponent4(String component4) {
setComponent(4, component4);
}
/**
* Set the component4.
* @param Currency with the component4 content to set
*/
public void setComponent4(java.util.Currency component4) {
setComponent(4, SwiftFormatUtils.getCurrency(component4));
}
/**
* Set the Currency (component4).
* @param component4 the Currency to set
*/
public void setCurrency(String component4) {
setComponent(4, component4);
}
/**
* Set the Currency (component4) as Currency
* @param Currency with the Currency content to set
*/
public void setCurrency(java.util.Currency component4) {
setComponent(4, SwiftFormatUtils.getCurrency(component4));
}
/**
* Get the component5
* @return the component5
*/
public String getComponent5() {
return getComponent(5);
}
/**
* Get the component5 as Number
* @return the component5 converted to Number or null
if cannot be converted
*/
public java.lang.Number getComponent5AsNumber() {
return SwiftFormatUtils.getNumber(getComponent(5));
}
/**
* Get the Amount (component5).
* @return the Amount from component5
*/
public String getAmount() {
return getComponent(5);
}
/**
* Get the Amount (component5) as Number
* @return the Amount from component5 converted to Number or null
if cannot be converted
*/
public java.lang.Number getAmountAsNumber() {
return SwiftFormatUtils.getNumber(getComponent(5));
}
/**
* Set the component5.
* @param component5 the component5 to set
*/
public void setComponent5(String component5) {
setComponent(5, component5);
}
/**
* Set the component5.
* @param Number with the component5 content to set
*/
public void setComponent5(java.lang.Number component5) {
setComponent(5, SwiftFormatUtils.getNumber(component5));
}
/**
* Set the Amount (component5).
* @param component5 the Amount to set
*/
public void setAmount(String component5) {
setComponent(5, component5);
}
/**
* Set the Amount (component5) as Number
* @param Number with the Amount content to set
*/
public void setAmount(java.lang.Number component5) {
setComponent(5, SwiftFormatUtils.getNumber(component5));
}
/**
* Get the component6
* @return the component6
*/
public String getComponent6() {
return getComponent(6);
}
/**
* Get the Narrative (component6).
* @return the Narrative from component6
*/
public String getNarrative() {
return getComponent(6);
}
/**
* Set the component6.
* @param component6 the component6 to set
*/
public void setComponent6(String component6) {
setComponent(6, component6);
}
/**
* Set the Narrative (component6).
* @param component6 the Narrative to set
*/
public void setNarrative(String component6) {
setComponent(6, component6);
}
public List currencyStrings() {
List result = new ArrayList();
result = CurrencyResolver.resolveComponentsPattern(COMPONENTS_PATTERN, components);
return result;
}
public List currencies() {
final List l = currencyStrings();
if (l.isEmpty()) {
return java.util.Collections.emptyList();
}
final ArrayList result = new ArrayList();
for (String s: l) {
result.add(Currency.getInstance(s));
}
return result;
}
public Currency currency() {
return CurrencyResolver.resolveCurrency(this);
}
public String currencyString() {
return CurrencyResolver.resolveCurrencyString(this);
}
public void initializeCurrencies(String cur) {
CurrencyResolver.resolveSetCurrency(this, cur);
}
public void initializeCurrencies(Currency cur) {
CurrencyResolver.resolveSetCurrency(this, cur);
}
public List amounts() {
return AmountResolver.amounts(this);
}
public BigDecimal amount() {
return AmountResolver.amount(this);
}
/**
* Given a component number it returns true if the component is optional,
* regardless of the field being mandatory in a particular message.
* Being the field's value conformed by a composition of one or several
* internal component values, the field may be present in a message with
* a proper value but with some of its internal components not set.
*
* @param component component number, first component of a field is referenced as 1
* @return true if the component is optional for this field, false otherwise
*/
@Override
public boolean isOptional(int component) {
if (component == 2) {
return true;
}
if (component == 6) {
return true;
}
return false;
}
/**
* Returns true if the field is a GENERIC FIELD as specified by the standard.
*
* @return true if the field is generic, false otherwise
*/
@Override
public boolean isGeneric() {
return true;
}
/**
* Returns the issuer code (or Data Source Scheme or DSS).
* The DSS is only present in some generic fields, when present, is equals to component two.
*
* @return DSS component value or null
if the DSS is not set or not available for this field.
*/
public String getDSS() {
return getComponent(2);
}
/**
* Checks if the issuer code (or Data Source Scheme or DSS) is present.
*
* @see #getDSS()
* @return true if DSS is present, false otherwise.
*/
public boolean isDSSPresent() {
return getDSS() != null;
}
/**
* Gets the conditional qualifier.
* The conditional qualifier is the the component following the DSS of generic fields, being component 2 or 3 depending on the field structure definition.
*
* @return for generic fields returns the value of the conditional qualifier or null
if not set or not applicable for this kind of field.
*/
public String getConditionalQualifier() {
return getComponent(3);
}
public String componentsPattern() {
return COMPONENTS_PATTERN;
}
public String parserPattern() {
return PARSER_PATTERN;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy