Package liquibase

Interface ExtensibleObject

    • Method Detail

      • getAttributes

        SortedSet<String> getAttributes()
        Return the names of all the set attributes. If an attribute is null the name should not be returned. Should return both "standard" attributes and any custom attributes that have been set.
      • has

        boolean has​(String attribute)
        Returns true if the given attribute is set and not null.
      • getValuePath

        List getValuePath​(String attributePath,
                          Class lastType)
        Traverses dot-separated attributes in the attributePath and returns a list containing all the intermediate values.
        Parameters:
        lastType - the type to convert the last value in the list to.
      • get

        <T> T get​(String attribute,
                  Class<T> type)
        Return the current value of the given attribute name, converted to the passed type. If the passed attribute is null or not defined, returns null. If you do not know the type to convert to, pass Object.class as the type. Conversion is done using ObjectUtil.convert(Object, Class). Should traverse dot-separated attributes.
      • get

        <T> T get​(String attribute,
                  T defaultValue)
        Works like get(String, Class) but if the attribute is null or not defined, returns the passed defaultValue. Uses the type of defaultValue to determine the type to convert the current value to.

        If null is passed to the default value, no conversion of attribute is made if it is set. If traversing a dot-separated attribute path, return the default value if any along the path are null.

      • set

        ExtensibleObject set​(String attribute,
                             Object value)
        Sets the value of the given attribute. Subclasses can override this method to provide conversion business logic, but must remember that fields can be set directly when no type conversion is needed.
      • describe

        String describe()
        Output a full description of this object. Should include all attributes and values.
      • clone

        Object clone()
        Expose Cloneable#clone() as public