Final as argument to a method....

Hi ,
For example .. i have the following method(constructor) - which is supposed to create a new sphere from an existing one:
Sphere(*final* Sphere oldSphere) {
radius = oldSphere.radius;
xCenter = oldSphere.xCenter;
yCenter = oldSphere.yCenter;
zCenter = oldSphere.yCenter;Additionally... i have the following questions....
1) In such situations... do we have to declare the class+object (oldSphere in the above example) as final....????
I mean whenerver we compare/copy/ ..e.t.c. one object with another one of the same class and this is done via a method then we have to use the final word....as qualifier to the existing object...???
2) Why do we use the final .. here??? In order to secure that it would not be changed during the exec of the above method (for example...)?
Thanks...
Sim

sgalaxy wrote:
2) Why do we use the final .. here??? In order to secure that it would not be changed during the exec of the above method (for example...)?Yes, to ensure that the local variable doesn't change during the method. You may be asking why this is necessary.
It's necessary to support nested classes. Nested classes can only use final local variables from the wrapping method.
Here's why. (This gets kind of esoteric.) Since they're final, the nested class can simply add its own final copy of the variable, and all will be correct. If it weren't final, then the nested class would have to maintain a reference back to the local variable, and that class might end up living longer than the invocation of the method. This could result in things on the heap referring to stack frames, which is a bad thing for reasons that are too complicated to go into right now. To support that, the entire Java execution model would have to change. So it's much simpler to require that nested classes can only use local variables in the wrapping method if the local variables are final.
If you want to learn more about this, read about the JVM, in particular how the JVM uses its heap and a collection of stacks (one per thread), and how they interact during execution of java code. Then it wouldn't hurt to read about how, say, a Scheme environment executes code, and then compare the two.
You don't really need to know all that much detail to code, although it helps.

Similar Messages

  • Thread Safety : Marking arguments of  static method as final

    Hi,
    I have a class with static method. This class will be hit by several threads and I need to make the code thread safe. If I declare the arguments of this method as "final", will it guratnee that these variables cannot be changed by another thread calling this method?
    Thanks in advance,
    Rtameh

    No, the only condtion where parameters or local variables might be shared with another thread is if you create a local class which uses them, and the compiler won't allow you to do that if they aren't final.
    Local variables are always thread-safe.

  • Maximum # of arguments for a method

    Is there a maximum # of arguments for a method?
    I have the following signature for a method:
    void process_l1_queue(int processnum, Scheduler level1[], Scheduler[] level2[], Scheduler[] level3[],Scheduler[] level4[],int index,int l2,int l3,int l4)when I call it with the following statement,
    level1.process_l1_queue(process_count, level1,level2,level3,level4,l1ptr, l2ptr, l3ptr,l4ptr);
    I get a cannot resolve symbol error pointing at the comma after l3ptr.
    I've deleted the l4ptr and the same error points to the ).

    wow. People can often be a bit too inflammatory with their replies here, but, at the risk of sounding like so, I would fire you on the spot if you develop an application class with that signature. There is no defense for such a signature- put some of those arguments in the constructor (this instance will always be of a certain calendar type, dollar currency), subclass- divide the functionality into smaller units. That signature is too complex and it will make every thing more difficult, particularly if some one else has to manage the code in the future. I would say, as a general rule, if you find yourself asking, will java let me put some thing this mammoth in it the way I intend, you're often using a poor design. All things being equal, you shouldn't normally have to test the limits of the JLS.

  • Passing final referance as argument to a method

    Hi All,
    I was wondering what is the benifit of declering a referance type in a method parameter as fianl.say
    public void foo(final Point p)
         this.p = p;
    }also does this make any big differance .
    public void foo(final Point p)
         this.p = new Point(p);
    }

    Hi All,
    I was wondering what is the benifit of declering a
    referance type in a method parameter as fianl.say
    public void foo(final Point p)
         this.p = p;
    Some people do that to avoid assignement to the argument by mistake.
    E.g p = p;
    >
    also does this make any big differance .
    public void foo(final Point p)
         this.p = new Point(p);
    Not a big difference but it makes it impossible for others to manipulate your copy of the data. (If the constructor for Point is correctly implemented)
    Kaj

  • Reflection in  Numbers and Primitive Arguments  in a Method

    Hi ,
    I am trying to invoke a method which has primitive or Number arguments, my problem is that when i do method.invoke( ) it gives an instantiation exception, because it was trying to do clazzT.newInstance( ) where clazzT happened to be int.class ... ? so how do i create a new Instance of such a primitive to add it to argument list while doing method.invoke ?
    so what i mean is, have a method like :
    public void doSomething(int x){
    }and i am trying to do a method.invoke( ) in a for loop with all the methods of the classes ...
    anyone!? please i am trying to figure this out for a while!? :)
    Rick

    public class AnnotationFinderLogger implements InvocationHandler{
         private static final String CONST_NULL = "null";
         private Object target;
          * @param target
         public AnnotationFinderLogger(Object target){
              this.target = target;
          * @param <T>
          * @param clazz
          * @throws Throwable
         public <T> void find(Class<T> clazz) throws Throwable{
              if(clazz == null){
                   throw new NullPointerException("[ Reason ] : " + clazz);
              Annotation annotation = clazz.getAnnotation(IsLoggable.class);
              if(annotation == null) {
                   // skip it
                   return;
              }else if(annotation.annotationType().equals(IsLoggable.class)){
                   T t = clazz.newInstance();
                   System.out.println("[ length ] = [ " + t.getClass().getMethods().length + " ] ");
                   // instantiate proxy for the class given
                   createProxy(t);
                   Method[] methods = clazz.getMethods();
                   for(Method method : methods){
                        if(method.getAnnotation(Log.class) != null && Modifier.isPublic(method.getModifiers())){
                             Object[] args;
                             // adds to the list of parameters by invoking clazz.newInstance( ) to gain the Object
                             List<Object> tempList = inspectParameterTypes(method);
                             args = tempList.toArray();
                             this.invoke(t, method, args);
          * @param <T>
          * @param t
         private <T> Object createProxy(T t) {
              return Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),
                                            new Class[] {}, new AnnotationFinderLogger(t));
          * @param method
          * @return
          * @throws InstantiationException
          * @throws IllegalAccessException
          * @throws NoSuchMethodException
          * @throws SecurityException
         private List<Object> inspectParameterTypes(Method method) throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
              Class<?>[] arrayClass = method.getParameterTypes();
              // Assume no more than 6 args, Suns convention ;)
              Object[] args = null;
              List<Object> tempList = new ArrayList<Object>();
              // loop through parameter types
              for(Class<?> clazzT : arrayClass){
                   System.out.println(" clazzT = " + clazzT.getName());     
                   if(!clazzT.isPrimitive() && !clazzT.isArray()){
                        Object o  = clazzT.newInstance();
                        tempList.add(o);
                   }else if(clazzT.isAssignableFrom(int.class)){
                        Integer argument = int.class.newInstance();
                        tempList.add(argument);
              return tempList;
         @Override
         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
              System.out.println(" [ Begin ] : [ " + method.getName() + " ] ");
              for(int i = 0 ; i < args.length; i++){
                   System.out.println(" [ Arguments] : [ " + args[i] + " ] ");
              Object returnValue = method.invoke(target, args);
              System.out.println(" [ Exiting ] : [ " + method.getName() + " ] ");
              System.out.println(" [ Return Values ] : [ " + returnValue + " ] ");
              return returnValue;
    }here's my proxy code. I am checking for @Log annotation and then invoking the methods, when i invoke the methods i have to pass in the argument types, in that case i would need to check if its a primitive or not etc ...
    I am kinda lost now ... x_x
    Regards
    Vyas, Anirudh

  • Create an object with the name passed in as a string argument to a method

    Hi,
    I am sorry if it's too trivial for this forum , but I am stuck with the following requirements.
    I have a method
    void abc(String object_name, String key, String value)
    method abc should first check if there exists in memory a hashmap object with the name passed in as argument object_name.
    If yes ..just put the key and value there.
    if not , then create the hashmap object called <object_name> and insert the key/value there.
    Can anybody help me in the first step i.e, how to check if an object exists with the name passed in and if not then create it.
    Will getInstance method be of any help?
    Thanks in advance for your response.
    -Sub-java

    Dear Cotton.m,
    Thanks for your suggesstion. I will remember that.
    But somehow I have a strong belief that you still need to consult dictionary for exact meaning of the words like "upset" , "frustration" etc. Not knowing something in a language , that too as a beginner, does not yield frustration, but increases curiosity. And people like petes1234 are there to diminish that appetite.
    To clarify above, let me compare jverd's reply to my doubt with petes1234's.
    jverd said it cannot be done and suggested a work around (It was perfect and worked for me) While petes1234 , having no work in hand probably, started analysis of newbies mistakes.
    jverd solved my problem by saying that it cannot be done. petes1234 acted as a worthless critic in my opinion and now joined cotton.m.
    Finally, this is a java forum and I do not want to discuss human characteristics here for sure.
    My apologies if I had a wrong concept or if I chose a wrong forum to ask, where people like petes1234 or Cotton.m show their geekdom by pointing out "shortfalls" rather than clearing that by perfect examples and words.
    Again take it easy and Cotton.m , please do not use this forum to figure out others' frustration but be a little more focussed on solving others "Java related" problems :)
    -Sub-java

  • Generic arguments in a Method on an interface.

    Hi all,
    I'm having trouble with the following code:
    Basically this is what i want:
    the Classes:
    public class SuperClass
    public class ClassA extends SuperClass
    public class ClassB extends SuperClass
    public class ClassC extends SuperClass
    The interface
    public interface interfaceX
       public methodX(SuperClass A);
    Implementation of the interface
    public class classX implements interfaceX
         public methodX(ClassA A)
    }My problem is on the declaration of the interface interfaceX in the class classX.
    How can i do such thing?
    I'm trying to avoid the "correct" declaration. this is:
    public methodX(SuperClass A)
            { ... }because I have a couple of class that extends that interface with deferents arguments, all of them extending from the SuperClass.
    I know i could use the instanceof keywork, but i'm trying to avoid the extra checking...
    Thanks in advance for any help!!
    Edited by: ValdemarP on Mar 29, 2010 1:55 AM

    i know I'm changing the contract, but only the arguments. if you notice, the new arguments is child of class SuperClass... How can I do this? Declare an method in an interface that accepts an arguments of some class and implement that interface, with argument that are children of the arguments declared in the interface... hope i was more clear this time... :(
    Example. I can do this on an interface:
    public void MethodListGeneric(List<? extends SuperClass> xpto )and during the implementation of the interface, I can declare the method using any arguments for the generic list, that extends SuperClass.
    Example:
    public class xpto extends InterfaceX
        public void MethodListGeneric(List<ClassA> xpto )
         // in here I've use ClassA insted of SuperClass
    }Edited by: ValdemarP on Mar 29, 2010 3:15 AM
    Edited by: ValdemarP on Mar 29, 2010 3:15 AM

  • Trying to pass arguments into a method call and failing

    Hi everyone, I'm fairly new to programming, and newer to Java. I'm currently working on a project that pulls fields from a database based on a name, and I'm having some trouble getting the connection string set up.
    Statically defined, the database connects and the program logic that follows works just fine. The problem is that to future-proof this application, I need to pass the database URL, port, db instance, username, and password into the program as arguments from the batch file that will then be scheduled to run the program on a job-by-job basis.
    Product Version: NetBeans IDE 6.1 (Build 200805300101)
    Java: 1.6.0_06; Java HotSpot(TM) Client VM 10.0-b22
    System: Windows XP version 5.1 running on x86; Cp1252; en_US (nb)
    Userdir: C:\Documents and Settings\xxxxxxxxxxx.SPROPANE\.netbeans\6.1
    Here's my current working source (with the network addresses obfuscated):
    package processsqrjob;
    import java.io.*;
    import java.sql.*;
    import java.util.Date;
    public class Main {
         * @param args jobname, jobparameters, HYPusername, HYPpassword, HYPservername, HYPport, oracleDBURL, oracleport (default 1512), SID (dbb?), oracleusername, oraclepass
         * @throws exeption
        // jobname [0], jobparams[1], hypusername [2], hyppassword [3], hypservername [4], hypport[5], oracledburl[6], oracleport[7], sid[8], oracleusername[9], oraclepass[10]
        public static void main(String[] args) throws SQLException
            DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@oracleserver.local.intranet.com:1521:dbname", "username", "pass");
            Statement stmt = con.createStatement();
            Date date = new Date(); //get the system date for output to both the error log and the DB's lastrun field
            System.out.println(date); //print the date out to the console
            System.out.println(args[0]); //print the job name to the console
            String sourcefolder=""; //we're going to load the job source folder into this variable based on the job's name
            String destfolder="";//same with this variable, except it's going to get the destination folder
            try {
                ResultSet rs = stmt.executeQuery("SELECT * FROM myschema.jobs WHERE NAME =\'"+args[0]+"\'");
                while ( rs.next() ) {
                    sourcefolder = rs.getString("sourcefolder");
                    destfolder = rs.getString("destfolder");
                stmt.executeQuery("UPDATE myschema.jobs SET lastrun ='"+date+"' WHERE name ='"+args[0]+"'");//put this after hyp code
    //            System.out.println(sourcefolder);
    //            System.out.println(destfolder);
    //            System.out.println(description);
                stmt.close(); //close up the socket to prevent leaks
            }catch(SQLException ex){
                System.err.println("SQLException: " + ex.getMessage());
                logError(args[0], ex.getMessage());
    }That works, and it connects to the database and everything. But when I pass the variables in from the project properties run settings, I get the following exception:
    Exception in thread "main" java.sql.SQLException: invalid arguments in call
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)
            at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:235)
            at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:440)
            at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
            at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
            at java.sql.DriverManager.getConnection(DriverManager.java:582)
            at java.sql.DriverManager.getConnection(DriverManager.java:207)
            at processsqrjob.Main.main(Main.java:42)
    Java Result: 1That is with Connection con = DriverManager.getConnection("jdbc:oracle:thin:@oracleserver.local.intranet.com:1521:dbname", "username", "pass"); changed to Connection con = DriverManager.getConnection("jdbc:oracle:thin:@"+args[6]+":"+args[7]+":"+args[8]+"\", \""+args[9]+"\", \""+args[10]+"\"");{code}, with args 6 7 8 and 9 set to url, port, dbinstance, username, and password respectively.
    Perhaps it's the way I'm escaping the quotation marks, but I put that same line inside a System.out.println() and it output it exactly as I had typed it in statically before, so I don't know what it could be.
    I would really appreciate any advice. Thanks in advance for your time.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I think you're mixing up SQL and Java. The Java method expects the user name and password as separate parameters, not encoded in one String. So you shouldn't be concatenating args[9] and args[10] at all, they should remain as separate parameters.
    The call should be:DriverManager.getConnection("jdbc:oracle:thin:@" + args[6] + ":"+ args[7] + ":" + args[8], args[9], args[10]);
                                                     parameter 1                                  2         3

  • Passing arguments to a method

    I need to pass an ip address into a method. So I know its type InetAddress. If the IPAddress is 10.100.50.33. how would I pass it in to the method. eg:
    SysNameScanCommand(  )Would it be like this?
    SysNameScanCommand(InetAddress 10.100.50.33 )

    It depends what kind of argument your function is expecting. If it wants a String, you could call
    SysNameScanCommand("10.100.50.33");If it wants an InternetAddress object, then the call would be something like:
    SysNameScanCommand(new InternetAddress("10.100.50.33"));

  • Complex Type arguments in COM methods.

    Problem:
    A COM’s object method is expected to receive two
    arguments by reference. Both arguments are complex type (objects).
    According to CFMX documentation, you pass variables ‘by
    reference‘ by enclosing them in quotes. This works for simple
    types, but not for objects.
    Any idea how to pass an object by reference?

    Would it help to convert it to a string while passing between Python and LabVIEW?
    Then you can typecast it accordingly in each environment.
    Cory K

  • Inputting multiple arguments into a method

    Hi,
    I have somewhat of a problem. I'm trying to create a method, stringQuery, and I do not know how many arguments the method will take.
    Allow me to explain my goal, so you can have some idea of what I'm talking about.
    I want to create a method that will basically generate a SQL query (no, this is NOT a JDBC question) from text. This method should be able to take a large number of String arguments, because the user might want to select one thing from the database, or he or she might want to select five things, or he or she might want to select twenty things.
    Because of this, there is not a set number of arguments for my stringQuery method.
    Furthermore, the method should also be able to take a large number of float arguments, in case the user wants to specify where he or she is selecting data from.
    It's just a mess, I'm not sure where to start, and I'm pretty damn sure there must be a better way. I can specify that I want an infinite number of Strings by saying something like this:
    public static String stringQuery(String... select)But I cannot do the same for floats, or for another String array. Or can I? If I try to do something like:
    public static String stringQuery(String... select, float... foo)I get a syntax error, that says "select must be the last parameter". If I change the order, it will say "foo must be the last parameter", obviously. Therefore, I can't do that.
    I realize this is a lot of information. However, if someone could please point me in the right direction here (either how to do what I am trying to do, or a better method for what I am trying to do), I would be very appreciative.
    Also, please let me know if this didn't make much sense, and what part of it didn't make sense.
    Thanks,
    Dan

    I'm not too sure what you mean by this. Do you know
    of any links or resources that can explain this
    further?Search for "Object-Oriented Programming".public class SQLBuilder {
      private // some list of selection criteria
      public SQLBuilder() {
        // initialize the list to empty
      public void addCriterion(String name, String value) {
        // add this criterion to the list
      public void addCriterion(String name, int value) {
        // add this criterion to the list
      // many more overloaded addCriterion methods could go here
      public String toString() {
        // compute the SQL string based on the list
    }And to use that:SQLBuilder builder = new SQLBuilder();
    builder.addCriterion("name", "Arthur Eddington");
    builder.addCriterion("answer", 137);
    String query = builder.toString();

  • Problem with byte array arguments in webservice method call

    I am using JWSDP 1.5 to generate client stubs for a webservice hosted on a Windows 2000 platform.
    One of the methods of the webservice contains a byte array argument. When our application calls this method passing the contents of a TIFF file as the byte array, the method is failing. I have discovered that tthe reason for the failure is that the byte array in the SOAP message has been truncated and is missing its terminating tag.
    Is this a known problem in JWSDP 1.5? Is there a fix for it? Does JWSDP 1.6 resolve this problem?
    Any assistance will be much appreciated.
    Regards,
    Leo

    I'd like to add the the webservice being invoked by the generated client stubs is rpc/encoded.

  • How to pass in a wildcard as an argument to a method

    Hi,
    I am calling to a method which "normally" works like this:
    sContext.lookup(jndiName)
    The argument jndiName which I am passing looks like:
    /jms/topic/my/topic
    If the above jndiName exists, the method looks it up. If it does not exist, obviously an exception occurs.
    However, what I want to do is to pass a wildcard like * as an agrument for the method, so that it looks up everything that does exist. Or better yet, I want to lookup everything that starts with /jms/topic/*/*/*.
    Is this possible to do by using some wildcard? Or is there another way to do this?
    Thanks!

    I want do this because what if I don't know the jndiName (which is a string) - and I want to lookup all the ones that do exist.
    Once I get a list of all the jndiName's that exist - I will display them to the user - so the user is now aware of all the ones that exist.
    Yes, at this time the user will pass the now known jndiName as an argument and then I will look up the specifc object to use them.
    The lookup method is in the class:
    javax.naming.InitialContext
    which implements interface Context

  • Passing arguments to main method from a shell script

    The main method of my class accept more than 10 arguments so my shell script execute this class like this :
    java -cp xxxx mypackage.MyClass $*
    The problem is that some of those arguments allows spaces. When i execute this script like this :
    myscript.sh firstparam secondparam ...... tenthparm "eleventh param"
    or
    myscript.sh firstparam secondparam ...... tenthparm 'eleventh param'
    the java class consider that my eleventh param is 'eleven' and not 'eleventh param'
    The same class works well with an equivalent dos script.

    I had this problem once also, and I found there are several ways to fix it. One way is to replace all of the spaces in the arguments with _ characters, or you can concantate all of the arguments into one String at runtime (with spaces in between) and use code to separate the arguments out. With the quotation marks, this code would be simple. If the spaces in one argument are used to divide different parts of the argument, just make them spearate arguments.

  • Final Cut Studio Crossgrade - Best method for upgrade?

    Hi,
    I've received my new Final Cut Studio crossgrade disks after surrendering my old ones to Apple and paying my £40 plus p&p (seems a bit antiquated doesn't it) and now I'm wondering how to go about installing.
    I suppose ideally I would start again with a fresh OSX install and then install all the new Final Cut Studio apps on a 'clean' system. However, if I decide I am too lazy to do this (as fun as it sounds, my system is running fine otherwise so it would be a bit of a pain) is there a way of clearing off my old FCS apps cleanly, to allow me to install the new ones without any performance compromises / potential conflicts / unused files lying about on my system disk (or is this going to leave loads of hidden files that might cause crashes etc.?
    I would appreciate advice from anyone who has tried their method and is certain it definitely works!
    Cheers
    Alan Smithee

    You're right - a clean install would be better. BUT, few of us can afford the time or energy to rebuild all the apps folder, etc. Personally, I simply installed it directly on top of all existing apps, after making a system drive clone. Worked perfectly, I saw no problems after crossgrading.

Maybe you are looking for

  • Running 2 different displays on the same Mac Pro2x 2.66

    Hi folks. this is the graphics card that I have:- Chipset Model: NVIDIA GeForce 7300 GT Type: Display Bus: PCIe Slot: Slot-1 PCIe Lane Width: x16 VRAM (Total): 256 MB Vendor: NVIDIA (0x10de) Device ID: 0x0393 Revision ID: 0x00a1 ROM Revision: 3008 I

  • Aged Debtors Report by Account Manager (Sales person)

    Hi experts I've created the following SQL Query to identify the ageing of balance outstanding on Open Sales Invoices. I'd like to include Credit Notes but do not have the expertise. Hope someone can help? Thanks in advance Derek SELECT T1.[CardCode]

  • My ipad is frozen, unresponsive and has a fuzzy screen

    I've tried restoring it but that work but then it crashed again, i can't do anything with it and i have never damaged it.

  • Webutil Error when trying to run excel report from Oracle form

    I am trying to run an excel report from a oracle from but it throws me following error: Oracle.forms.webutil.fileTransfer.FileTransfer bean not found. WEBUTIL_FILE_TRANSFER.getmaxtransfer will not work Can you tell what is this error due to and how t

  • Deleting a photo

    I've searched the archives and there is deleting pages, homepages, text, etc, but can't find anything on deleting a single photo. I have created a site from a party and someone does not like their photo on it. How do I remove just one image so that I