/** * Returns a SIS metadata implementation with the values of the given arbitrary implementation. * This method performs the first applicable action in the following choices: * * <ul> * <li>If the given object is {@code null}, then this method returns {@code null}.</li> * <li>Otherwise if the given object is already an instance of * {@code DefaultMedium}, then it is returned unchanged.</li> * <li>Otherwise a new {@code DefaultMedium} instance is created using the * {@linkplain #DefaultMedium(Medium) copy constructor} * and returned. Note that this is a <cite>shallow</cite> copy operation, since the other * metadata contained in the given object are not recursively copied.</li> * </ul> * * @param object the object to get as a SIS implementation, or {@code null} if none. * @return a SIS implementation containing the values of the given object (may be the * given object itself), or {@code null} if the argument was null. */ public static DefaultMedium castOrCopy(final Medium object) { if (object == null || object instanceof DefaultMedium) { return (DefaultMedium) object; } return new DefaultMedium(object); }
/** * Returns a SIS metadata implementation with the values of the given arbitrary implementation. * This method performs the first applicable action in the following choices: * * <ul> * <li>If the given object is {@code null}, then this method returns {@code null}.</li> * <li>Otherwise if the given object is already an instance of * {@code DefaultMedium}, then it is returned unchanged.</li> * <li>Otherwise a new {@code DefaultMedium} instance is created using the * {@linkplain #DefaultMedium(Medium) copy constructor} * and returned. Note that this is a <cite>shallow</cite> copy operation, since the other * metadata contained in the given object are not recursively copied.</li> * </ul> * * @param object the object to get as a SIS implementation, or {@code null} if none. * @return a SIS implementation containing the values of the given object (may be the * given object itself), or {@code null} if the argument was null. */ public static DefaultMedium castOrCopy(final Medium object) { if (object == null || object instanceof DefaultMedium) { return (DefaultMedium) object; } return new DefaultMedium(object); }
/** * Creates an arbitrary metadata for testing purpose. */ public ModifiableMetadataTest() { md = new DefaultMedium(); md.setMediumNote(new SimpleInternationalString("The original note.")); md.setIdentifier(new DefaultIdentifier("A medium identifier")); assertInstanceOf("mediumFormat", CodeListSet.class, md.getMediumFormats()); // Force assignation of a Set in private field. }